- 1 名前:デフォルトの名無しさん mailto:sage [2012/06/06(水) 11:03:33.21 .net]
- WPF/Silverlight/WinRT開発の必須技術、MVVMについて語ろうではないか!
- 666 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 19:50:30.83 .net]
- MVVMだのスレッドセーフだの言う前にマルチスレッドをちゃんと理解しろよ
読み取り専用ならスレッドセーフだからReadOnlyCollection<T>でいい
- 667 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 20:35:10.02 .net]
- 読取専用のコレクションは変更されないわけじゃないぞ
- 668 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 20:47:02.14 .net]
- さすがにそれは無理があるだろ…
それに、随時少しずつ変更されるんじゃなくて時々ゴソっと入れ替わるだけなら Observable*使わなくてもコレクションごと差し替えてしまえばいい
- 669 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:01:42.99 .net]
- っていうか作法的には>>651のやり方の方が正しく「スレッドセーフ」だと思う
Observable*使うと、連続してコレクションを変更するときに変更途中の変な状態が晒されちゃうよ 決してObservableSynchronizedCollectionなら解決するという問題ではなく
- 670 名前:デフォルトの名無しさん mailto:sage [2013/04/08(月) 21:35:22.96 .net]
- 一括で変化させるのではなく、逐一反映させたいのです。
その為読み取り専用ラッパもINotify〜でないといけません。
- 671 名前:デフォルトの名無しさん mailto:sage [2013/04/11(木) 14:22:53.29 .net]
- Livetプロジェクトを作った時にできるInfrastructureAssembliesフォルダは何のためにあるの?
- 672 名前:654 [2013/04/11(木) 14:37:04.33 .net]
- すいません。必要なDLLとクイックヒントのXMLっぽい事は分かりました。
でもLivet.Design.dllが何の役割があるのか分かりません。
- 673 名前:デフォルトの名無しさん mailto:sage [2013/04/13(土) 02:18:05.29 .net]
- >>648
ReadOnlyObservableCollection
- 674 名前:デフォルトの名無しさん mailto:sage [2013/04/15(月) 14:41:24.53 .net]
- 昔の0.9xのLivetで開発してたもので、画面描画が完了したタイミングでアニメーション開始させるために
DispatcherHelper.BeginInvoke(action, DispatcherPriority.Render); みたいに書いてたのがあるんだけど(actionはアニメーション開始させる処理)、 今のLivetだと「BeginInvokeは古い形式です」とかいう警告になってしまう。 まぁ、警告だからコンパイルできるし実行もできるんだけど… 警告出ない、古くない形式ってどう書けばいいんだろう?
- 675 名前:デフォルトの名無しさん mailto:sage [2013/04/16(火) 00:44:11.22 .net]
- UIDispatcherプロパティからBeginInvokeだったと思う。
- 676 名前:デフォルトの名無しさん mailto:sage [2013/04/16(火) 07:45:34.55 .net]
- >>658
- 677 名前:
それでOKみたいですね どうもでした 0.9xと1.xで、結構変わってるとこ多いですねー [] - [ここ壊れてます]
- 678 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 16:37:49.02 .net]
- MVVMでの非同期処理をする場合について質問なんですが
MはUIスレッドを意識せずプロパティやコレクションを変更し それを監視してるVMが適宜UIスレッドにディスパッチする という感じでするのでしょうか?
- 679 名前:デフォルトの名無しさん mailto:sage [2013/05/02(木) 17:18:30.55 .net]
- UIスレッドというものはView側の都合だからそんな感じだな
VかVMあたりだろう
- 680 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 13:29:53.61 .net]
- Livetの公式ページが404 File Not Foundになってる…
- 681 名前:デフォルトの名無しさん mailto:sage [2013/05/08(水) 14:57:34.62 .net]
- よくあること
- 682 名前:デフォルトの名無しさん mailto:sage [2013/05/10(金) 06:05:27.27 .net]
- よくあるのか
たまにしか見に行かないから、この1年半くらいで初めてだった そのうち直るのかな
- 683 名前:デフォルトの名無しさん mailto:sage [2013/05/14(火) 17:27:08.94 .net]
- @merancronと@ugaya40のサイレントバトルがかなり面白い
- 684 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 06:09:53.49 .net]
- Livetのページ、1週間以上経ってもまだ404 File Not Foundなんだが閉鎖しちゃった?
それとも移転したのか? 閉鎖にしても移転にしても何かその旨書いといて欲しい しかしユーザー困るな
- 685 名前:デフォルトの名無しさん mailto:sage [2013/05/17(金) 14:40:36.69 .net]
- >>666
たぶんサーバーの料金払ってないだけ
- 686 名前:デフォルトの名無しさん [2013/05/17(金) 15:27:29.29 .net]
- MVPなんだからAzureの無料枠ぐらいもらってるだろうに……
- 687 名前:デフォルトの名無しさん [2013/05/17(金) 19:00:21.91 .net]
- や ら な い か
- 688 名前:デフォルトの名無しさん [2013/05/17(金) 19:07:32.07 ID:NuBHhb8n!.net]
- kon
- 689 名前:デフォルトの名無しさん [2013/06/24(月) 11:30:16.12 .net]
- Uにリムーブされていることに気がついたw
まあ、ちょくちょく揉めてたからなw
- 690 名前:デフォルトの名無しさん mailto:sage [2013/10/03(木) 15:35:02.10 .net]
- Vにバインドしたコマンドの内部で非同期操作を呼び出したときのお作法ってあるんですかね?
- 691 名前:デフォルトの名無しさん [2013/10/03(木) 16:40:34.53 .net]
- 俺は気にしてないが、VMでは特に気にしなくていいんでね?
- 692 名前:デフォルトの名無しさん mailto:sage [2013/10/10(木) 22:24:40.50 .net]
- >>672
同じコマンドを複数回読んだ場合、場合によっては順序が変わる可能性あるからその辺に注意ぐらいかのー
- 693 名前:デフォルトの名無しさん mailto:sage [2013/10/10(木) 23:00:23.03 .net]
- いい加減日本語の書籍を出してほしい。
- 694 名前:デフォルトの名無しさん mailto:sage [2013/10/14(月) 23:43:00.78 .net]
- ModelがINotifyPropertyChangedを実装する理由は
Mを操作した結果、プロパティが変化したことを通知する という理解でいいですか?
- 695 名前:デフォルトの名無しさん mailto:sage [2013/10/15(火) 12:36:49.83 .net]
- OK
- 696 名前:デフォルトの名無しさん mailto:sage [2013/10/16(水) 15:35:26.82 .net]
- >>676
OnPropertyChanged で渡すプロパティ名が間違っていると View への通知が 正しく行われない。当たり前の話だけど、この種のつまらないトラブルが 多いから注意してね。
- 697 名前:デフォルトの名無しさん mailto:sage [2013/11/14(木) 23:01:29.82 .net]
- >>394
ちょっと前の書き込みだけど、フォルダ分けみんなどうやってるかが気になる。 やっぱ、View/ViewModel/Modelって分けてるのかな? なんか、画面が大量にある場合とかに、V/VMのクラスが大量にできて、対応するV/VMのペアが、IDEから辿りにくいんだよなぁ。。 V/VMがたくさんあるような時って、機能とかグループごとにサブフォルダでまとめた方がいいのかな。 こんな風に、、 ・グループ1フォルダ ・View ここにグループ1のViewを複数入れる ・ViewModel ここにグループ2のViewModelを複数入れる ・グループ2フォルダ ・View ・ViewModel
- 698 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 07:23:33.44 .net]
- 俺も最初に参考にしたサンプルが
View/ViewModel/Model みたいにフォルダ作ってたので それに倣ってそんな感じにしたけど、サンプル程度のクラス数ならいいんだけど 数が2桁くらいになってくるといまいちだよね。サブフォルダまで作っても。 むしろ、特定の機能のフォルダ作っちゃって、そこに それに関連したView/ViewModel/Modelをセットで入れる、みたいなのも 逆にそこ
- 699 名前:セけで完結しないで複数にまたがるのが分類しにくかったり。 []
- [ここ壊れてます]
- 700 名前:デフォルトの名無しさん [2013/11/15(金) 13:19:46.47 .net]
- >>680
俺もそれが妥当と思う
- 701 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 14:20:43.75 .net]
- 少なくともView内は分けない方がいいと思う
- 702 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 14:31:37.31 .net]
- 昔はフォルダで分けてたけど、今はこんな感じ↓
ソリューション - ModelLayerプロジェクト - ViewModelLayerプロジェクト - ViewLayerプロジェクト - UnitTestプロジェクト - Commonプロジェクト
- 703 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 14:38:30.55 .net]
- 書き忘れたけどもう一つ、ソリューション名と同名のプロジェクトが有るな
(仮にMainプロジェクト) MainプロジェクトとUnitTestプロジェクトは、アプリケーションプロジェクトで V/VM/M及びCommonプロジェクトは、クラスライブラリプロジェクト
- 704 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 18:56:17.04 .net]
- C#の場合自動生成される名前空間にフォルダ階層が付加される仕様がこういう場合鬱陶しい
- 705 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 19:45:58.66 .net]
- 複数の機能(サブシステム)から構成されるようなアプリなら、俺も680派。
「レイヤ」よりも「機能」の方が凝集度高いんだし。 1機能内でもまだ画面が多いようなら、/機能/の下にView/ViewModelとかを作っても良いけど。 そこまででなければ、少なくともViewとViewModelはセットで。 Modelは、機能固有のものならセットにしても良いけど、だいたいはアプリケーションレベルで 考えるものな気もするので、別配置。
- 706 名前:デフォルトの名無しさん mailto:sage [2013/11/15(金) 23:49:30.50 .net]
- ModelはともかくViewとVMは一対一で対応してること多いからなあ
- 707 名前:デフォルトの名無しさん mailto:sage [2013/11/16(土) 04:31:20.31 .net]
- Modelはフォルダどころか別プロジェクトだろ
- 708 名前:679 mailto:sage [2013/11/17(日) 16:07:31.49 .net]
- >>680,686
機能ごとに分けて、そのフォルダの中にV/VMを突っ込むのよさそうだね。 VとVMは一緒にいじること多くて、近くに置いておきたいし。 ありがとう!! すごく参考になった。
- 709 名前:デフォルトの名無しさん mailto:sage [2013/11/17(日) 16:51:12.93 .net]
- VMが扱うモデルは1つとは限らないわけで、そういうのは無理があると思うけどね
- 710 名前:デフォルトの名無しさん mailto:sage [2013/11/18(月) 10:21:42.10 .net]
- ん?
- 711 名前:デフォルトの名無しさん mailto:sage [2013/11/19(火) 23:38:23.24 .net]
- >>690
機能単位でまとめるのはVとVMまでにして、モデルは別フォルダとか別プロジェクトにまとめる、でいいんんじゃないかな?
- 712 名前:デフォルトの名無しさん mailto:sage [2014/01/13(月) 13:39:58.61 .net]
- Mの設計にいまいち確信が持てないんだけど
例えばChromeみたいなタブブラウザを作る場合、開いてるページのコレクションはMで持つの?
- 713 名前:デフォルトの名無しさん [2014/01/13(月) 18:47:34.47 .net]
- >>693
MVVMはそんなに厳密に考えんでいいと思うけどね。 VMをVIEWを軽くするためのロジック移し場所ぐらいに考えてモデルを分ける必要あるなら作ると。そのモデルは一つでも複数でもいい。 Chromeの例なら自分なら開いてるタブやその他の状態を持つアクター一個作るかな。
- 714 名前:デフォルトの名無しさん mailto:sage [2014/01/14(火) 13:13:51.65 .net]
- MVVMの設計に関しては、
まずアプリケーションをVとMに分ける。 次にVをVとVMに分ける くらいの考えでいいと思う
- 715 名前:デフォルトの名無しさん mailto:sage [2014/01/15(水) 10:21:03.85 .net]
- 今はMVVMPCEARELS
- 716 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 07:59:10.50 .net]
- test
- 717 名前:デフォルトの名無しさん mailto:sage [2014/03/05(水) 16:17:16.97 .net]
- 普及している感じがしない
- 718 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 17:04:41.75 ID:Vv+C9W3P.net]
- >>699のような手合いは一度ふぁうらー先生の本でも読んだらいいよ
関心事の分離とフレームワーク依存がわかってない
- 719 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 20:57:52.43 ID:PPVaI37M.net]
- PoEAAは読んでるけど、どこがわかってないのかわからないので、教えてくれ。
- 720 名前:デフォルトの名無しさん mailto:sage [2014/05/20(火) 22:25:34.65 ID:9K9vHtgJ.net]
- >>699
今迄一度もViewでこのデータが必要だからここに持たそうとかやったことのないものだけが石を投げなさい(。-_-。)
- 721 名前:デフォルトの名無しさん mailto:sage [2014/05/21(水) 21:50:13.56 ID:v99ZJ6SN.net]
- >>699
マジでなにがどうわかってないんだか教えて欲しいんだがな。
- 722 名前:デフォルトの名無しさん mailto:sage [2014/05/23(金) 07:24:21.57 ID:mY7MwSDJ.net]
- PoEAAのMVCの説明って意味不明だよな
- 723 名前:デフォルトの名無しさん mailto:sage [2014/05/23(金) 11:25:59.93 ID:EWfyg3GH.net]
- >>702
[ModelがViewを意識]と[Modelの責務]は次元の異なる問題ではないだろうか
- 724 名前:デフォルトの名無しさん mailto:sage [2014/05/23(金) 11:26:58.12 ID:EWfyg3GH.net]
- >>703
翻訳文が意味不明なんだろうな
- 725 名前:デフォルトの名無しさん [2014/05/23(金) 13:12:25.80 ID:3xLYWpXM.net]
- >>704
だからモデルの債務になるものでビューのことを一切意識しないで扱えるものがどんだけあんだよ。 ビューでこういう使い方するからこういう風に元のデータは持とうとかいちどもやったことないの?
- 726 名前:デフォルトの名無しさん mailto:sage [2014/05/23(金) 13:57:11.39 ID:EWfyg3GH.net]
- >>706
それはModelのデザインの話であって、責務とは別の話だろうよ デザインと責務がごっちゃになってない? いすれにせよ>>699の非難は的外れだけどね
- 727 名前:デフォルトの名無しさん mailto:sage [2014/05/23(金) 14:02:08.57 ID:EWfyg3GH.net]
- 大きな切り口としてアプリケーションをプレゼン層とドメイン層に分ける
プレゼン層=ビュー、ドメイン層=モデルだから当然責務は違う しかし>>706のいうとおり、モデルがビューの使い方を意識した設計になるのは 開発の都合上当然の話だと思うな
- 728 名前:デフォルトの名無しさん mailto:sage [2015/02/26(木) 21:33:45.94 ID:cT7tYUid.net]
- ReactiveProperty良さげなんだけど使ってる人います?
週末にでも遊んでみよう。
- 729 名前:デフォルトの名無しさん mailto:sage [2015/09/25(金) 15:22:24.80 ID:kx8P/2+s.net]
- Livet1.3キタ
- 730 名前:デフォルトの名無しさん [2015/10/21(水) 22:31:30.80 ID:4/KXy1nx.net]
- WPF MVVMでアプリ作ってる人いるんだろうかと思えるくらい過疎っぷりだな
ほんと情報少なくて困ってる
- 731 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 01:36:32.77 ID:5QLmtDbA.net]
- こんなスレあったのか。今まで気が付かなかった。
MVVMは机上の空論っていうか筋が悪いの一言に尽きると思う。 これは過去にオブジェクト指向が攻撃されたような批判者の理解不足に基づく誤解では必ずしもない。
- 732 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 11:01:27.71 ID:T+i/NslY.net]
- とオブジェクト指向の時にも同じようなことを言っていた人はいた。
- 733 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 12:13:21.98 ID:dfQe7r4R.net]
- >>712
具体的にはMVVMのどこらへんが実情に即していない机上の空論で、筋の悪さなの? 可能であれば、古典的MVCやMVPとの比較も交えながら論じてみてほしい。
- 734 名前:デフォルトの名無しさん mailto:sage [2015/10/22(木) 13:13:45.09 ID:522gqyPw.net]
- >>713
オブジェクト指向は筋が悪かったからな
- 735 名前:デフォルトの名無しさん mailto:sage [2016/01/20(水) 23:45:57.28 ID:xrqpD1Un.net]
- 結局どんな設計がいいの?
Rxに傾倒したけど、上手く使いこなせてない
- 736 名前:デフォルトの名無しさん [2016/05/01(日) 15:54:23.24 ID:tKi6j9CT.net]
- 匿名通信(Tor、i2p等)ができるファイル共有ソフトBitComet(ビットコメット)みたいな、
BitTorrentがオープンソースで開発されています 言語は何でも大丈夫だそうなので、P2P書きたい!って人居ませんか? Covenantの作者(Lyrise)がそういう人と話したいそうなので、よろしければツイートお願いします https://twitter.com/Lyrise_al ちなみにオイラはCovenantの完成が待ち遠しいプログラミングできないアスペルガーw The Covenant Project 概要 Covenantは、純粋P2Pのファイル共有ソフトです 目的 インターネットにおける権力による抑圧を排除することが最終的な目標です。 そのためにCovenantでは、中央に依存しない、高効率で検索能力の高いファイル共有の機能をユーザーに提供します 特徴 Covenant = Bittorrent + Abstract Network + DHT + (Search = WoT + PoW) 接続は抽象化されているので、I2P, Tor, TCP, Proxy, その他を利用可能です DHTにはKademlia + コネクションプールを使用します UPnPによってポートを解放することができますが、Port0でも利用可能です(接続数は少なくなります) 検索リクエスト、アップロード、ダウンロードなどのすべての通信はDHT的に分散され、特定のサーバーに依存しません ・
- 737 名前:デフォルトの名無しさん mailto:sage [2016/05/01(日) 22:27:00.95 ID:VrD9Va1p.net]
- >>716
fluxとかかな。まだよく分かっていないけど。 状態を一箇所に集約する
- 738 名前:デフォルトの名無しさん mailto:sage [2016/05/03(火) 11:18:03.92 ID:uB7yk5jG.net]
- fluxのデータフロー見てたらApache Strutsを再発明したかったのかなって思た
- 739 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 17:20:07.82 ID:sgC64ZMu.net]
- MVVMって保守性が悪いよね。
WPF自体がそういう傾向が強いけど、MVVM使うと輪を掛けてそうなる。 他人が見て、後で自分が見て、ここのこの機能はどうやって実現されてるのか、 ここの仕様を変えるにはどこをいじればいいの、理解するのに時間が掛かり過ぎる。 MVVMで保守性が高くなるんだ!って喧伝してる人がいるのは知ってるけど、 正直裸の王様を褒めてるようにしか思えない。
- 740 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 20:43:19.06 ID:OBekjSgo.net]
- 結局正解はなくて最適解があるだけなんだけどさ
よくある失敗はMVC、それも頭でっかちなコントローラーをVMに置き換えているだけパターン この場合ビューモデルが主役で、テンプレートエンジンのビューと1:1の対となる入れ物の箱モデル を量産することになる ちょこっとイベントハンドラーをコードビハインドに書いたら、あとは全部ビューモデルにお任せ という中央集権国家が誕生、疎結合どこいったって話だな
- 741 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 21:04:44.88 ID:Urp5/7iJ.net]
- >>720
>他人が見て、後で自分が見て、ここのこの機能はどうやって実現されてるのか、 >ここの仕様を変えるにはどこをいじればいいの、理解するのに時間が掛かり過ぎる。 これって単に慣れてないからってだけじゃなくて?
- 742 名前:デフォルトの名無しさん mailto:sage [2016/05/10(火) 21:24:17.05 ID:YLufBM4s.net]
- 昔のようなデバッグして追いづらいってのはあるな。
- 743 名前:デフォルトの名無しさん mailto:sage [2016/05/11(水) 11:26:55.39 ID:sA9FQTwa.net]
- やっぱりrails系は偉大だったってことかなー。
どこにどんなコードを置くのかフレームワークとして強制するって大事だね。 iOSとかUIKitってだけだから特にファイル構成に対する強制がなくて悩む。
- 744 名前:デフォルトの名無しさん mailto:sage [2016/11/25(金) 20:31:02.28 ID:JXCOPEY3.net]
- お前らがMVVM頑張っても
画面設計者がMVVM理解者とは限らないから どこかは破綻するんやで
- 745 名前:デフォルトの名無しさん [2016/12/15(木) 23:39:13.49 ID:KILwFG0x.net]
- MV)o¥o(VM
- 746 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 17:58:48.49 ID:aO3Y1mks.net]
- データを格納したdatatableをdatagridにバインドして表示させてます。
この場合、datatableはVMですか?Vですか?
- 747 名前:デフォルトの名無しさん mailto:sage [2017/03/23(木) 23:57:20.04 ID:pns5gc7N.net]
- 他のフレームワークに比べてMVVMが有用なケースって、WPF以外だとどんなのがありますか?
- 748 名前:デフォルトの名無しさん mailto:sage [2017/03/31(金) 23:28:02.62 ID:Cc537bij.net]
- >>728
Xamari
- 749 名前:n.Forms
vue.js [] - [ここ壊れてます]
- 750 名前:デフォルトの名無しさん mailto:sage [2017/04/21(金) 04:30:27.44 ID:H6APCPmE.net]
- UWPみたいな大きい画面から小さい画面までサポートする奴。
UIとロジック分けられないと死ねる。
- 751 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 22:40:49.29 ID:NjKe635i.net]
- modelからViewModelに通信の結果を返すときに、
Rxとか使わずに、interfaceを渡してコールバックを返すようにするのは何かマズいんでしょうか
- 752 名前:デフォルトの名無しさん [2017/05/11(木) 23:10:02.50 ID:w+/nr1Tg.net]
- Rxも結局インターフェースだしいいんじゃ?
- 753 名前:デフォルトの名無しさん mailto:sage [2017/05/11(木) 23:55:27.09 ID:NjKe635i.net]
- modelは状態の公開と戻り値のないメソッドの提供のみするそうですが、
状態の公開っていうのは要はpublicなfieldってことなんでしょうか getterで提供したらなんで駄目なんでしょうか c#のことはよくわかりませんandroid javaを想定しています
- 754 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 11:29:50.90 ID:WPNdofPW.net]
- >>733
メソッドの戻り値をvoidにする、setterを提供しないのはMVVM由来ではなく、非同期な作りをしたい場合に起因します。 これは非同期な作りの場合、メソッドを呼び出しても直ちに状態が変更されるとは限らないから。 なので、状態の変更が完了した時点でMが通知し、受信側がgetterを介して状態を取得することを推奨しているに過ぎない。 逆に同期的な呼び出ししかしないのであれば、setterやメソッドの戻り値も好きにすればいいと思います。
- 755 名前:デフォルトの名無しさん [2017/05/12(金) 12:01:49.68 ID:efiy+Fg+.net]
- がや氏の戻り値返すなとかはCQRSやReactみたいに処理の流れを固定しろってのが本質と思うが本人もアーキによって返しますよとかいってるからじゃああの煽りはなんだったの感もありよくわかんね
- 756 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 18:50:06.13 ID:NqFIOOZC.net]
- 本人の中では色々な蓄積もあってその上で言ってんだろうけど、間を飛ばすから外から見たらよくわからん事になってるという印象
- 757 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 19:52:15.91 ID:05vfegfG.net]
- とりあえず御大の言うことはスルーしておいて、Flux、Reduxなんかについて調べてから、自分で答えを出せばよろし
- 758 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 20:05:15.61 ID:6PqY2VyR.net]
- C#で状態の公開というとプロパティを使うわけだけど、
javaにはプロパティがないからgetter使うしかないだろうし… そもそもMVVMではgetter使っちゃダメなんて話があるの…?
- 759 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 20:34:29.17 ID:z/cC9xJA.net]
- 状態の公開が何でpublicなfieldになんのか分からん
オブジェクト指向もっかい勉強した方がいい
- 760 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 22:16:02.54 ID:Ne3HESGY.net]
- いや返り値のないメソッドしかテイギシタラ駄目っていう縛りがあると思ってたから、
getterも駄目なのかと
- 761 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 23:10:52.37 ID:6PqY2VyR.net]
- MVVMの提唱がMSからだし、MSが作った言語にはプロパティがあるから…
…javaのgetterが駄目ならプロパティ使うのも駄目になるはず
- 762 名前:デフォルトの名無しさん mailto:sage [2017/05/12(金) 23:56:43.00 ID:XKa7CxLZ.net]
- ゲッターかプロパティかは本質じゃないだろう。
ゲッターをフィールドっぽく見せてるのがプロパティなだけなんだし。
- 763 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 06:13:49.08 ID:Hzzf9sbT.net]
- AndroidでMVVMやりたいだけなのに
C#でのMVVMとFluxとReduxとクリーンアーキテクチャと databindingとRxとretrolamdaと全部学ばないといけないわけ? 敷居高杉ませんか
- 764 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 08:08:27.52 ID:JyAd7JIY.net]
- MVVM含めアーキテクチャごっこをやること自体が目的なら全部学べよ。
Androidで開発しやすくしたいというのであれば、まずはData Bindingを使うことと、 APIの戻り/公開メンバとしてObservableを使ってみるところから始めろ。 DroidKaigiのアプリあたりを参考にしながら。
- 765 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 08:55:58.29 ID:R5mpG+FZ.net]
- build 2017と関係あるのかわからないけど、UWP関連でこんなもんが
https://github.com/Microsoft/WindowsTemplateStudio https://developer.telerik.com/topics/net/announcing-windows-template-studio/
- 766 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 09:01:35.75 ID:Hzzf9sbT.net]
- droid kaigiですね。ありがとうございます。
他にMVVMの参考になる小規模なソースコードのgithubリンクとかないっすか
- 767 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 14:21:43.11 ID:DOmFl3BV.net]
- Android java MVVMで検索したら色々出てくるけど…
- 768 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 17:26:38.50 ID:Hzzf9sbT.net]
- 画面遷移の処理とか結局viewでしかできないから、
view -> viewModel -> view で行ったり来たりしてるのとかみると糞だなあと思う
- 769 名前:デフォルトの名無しさん mailto:sage [2017/05/13(土) 21:32:34.67 ID:JyAd7JIY.net]
- Presentation Coordinator
Navigation Service なお、画面遷移の話とは別に、Androidの場合どうしてもActivity/Fragmentに 依存してしまう部分は出てくるから、その辺はあまり厳密に考えない方がいい。
- 770 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:23:45.13 ID:7qHN/0ER.net]
- VMとMの分割についてきちんと説明してくれてるサイトってあまりないけど、
基本的には全部Mに入れてVMはプロパティとしてMだけを持ってそれをVにバインドするってことでいいの? 大抵のサイトでは全部VMに入ってるけど
- 771 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:55:06.49 ID:jD8c7u6v.net]
- サイトは知らんが、一番しっくりくるなーと思う考えの一つは
MはDBなどのデータを格納する何か、もしくはデータそのもの。 VMはMからのデータを加工するものとVewとの橋渡しを分けてVMへ。 VはVewそのもの。 ってのが個人的に一番しっくりくる。
- 772 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:57:53.56 ID:V6q89FWa.net]
- viewそのものだとactivityがviewになるのは違和感がないか
- 773 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 12:59:02.78 ID:jD8c7u6v.net]
- 違和感ある。
VMに入れたい。
- 774 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 14:34:21.13 ID:CXNFHBlU.net]
- MVCだろ
M はDB以外のことは出来るだけしない V は表示するだけ C(VM) で色々する 概ね >>751 さんに同意
- 775 名前:デフォルトの名無しさん mailto:sage [2017/05/25(木) 18:18:08.97 ID:V6q89FWa.net]
- VMがactivityの参照を持ったらだめだと聞いたが。。
Xamarinだとpageか
- 776 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 00:49:21.51 ID:rlJlQaZI.net]
- C=VMだとMVCと変わらんだろうが
- 777 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 02:36:40.07 ID:NvS9muX6.net]
- イメージとしてはCより広い範囲のものをぶち込んでMやVに余計な物置かないのがVMって思ってる。
基本MVCと変わらん。 Cじゃないのはどこに置くとか名前から混乱してる人多かったから、VでもMでも無いのは全部VMってした方が混乱は少ない。
- 778 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 06:12:40.96 ID:Xdie43+z.net]
- MVVMのVはMVCのV+Cだよ
MVPのVとかと同じ
- 779 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 06:38:23.57 ID:OOmYkqkr.net]
- MVVMのVって左から3番目のVのことですか
- 780 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 07:01:45.39 ID:Xdie43+z.net]
- 2番目だよ
- 781 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 12:30:06.83 ID:fehtyedu.net]
- めちゃ効率悪い作り方
- 782 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 15:34:26.98 ID:ZNc2U8qB.net]
- MVVMってMVCより明確にしたもの
VMはCという漠然とした者じゃなくて Viewに対応するオブジェクトそのもの。 だからVMのプロパティを変更することでViewに反映されるし Viewで何か変更するとVMのプロパティに反映される。 双方向バインディングを使って実現する。
- 783 名前:デフォルトの名無しさん [2017/05/26(金) 19:26:58.74 ID:GnitEmTF.net]
- 全然進化してないな
- 784 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 20:59:38.95 ID:ovKX6RUR.net]
- >>761
効率求めたらガチガチにVewと結びつくからな。 Vewが固定ならMVCもMVVMも要らない。 デスクトップやモバイルで中身同じだけどVewだけ違うとかだからMVCやMVVMが必要になる。 デスクトップとモバイルで同じ処理を別々に書くよりは全体では効率が良くなる。 特にモバイルが画面の大きさや画面比率が多様化してる昨今では。
- 785 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 21:03:56.89 ID:ovKX6RUR.net]
- >>763
強いて進化と言ったらMVC時代は相変わらずクラス側でVewのプロパティに代入してもVewは古い値を表示したままで、updateで更新しないと値を更新しなかった。 MVVM独自かは不明だが、MSでは相互に値の更新を自動通知し合う仕組みが出来た。 >>762が言ってるのはそういう事。
- 786 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 21:40:38.92 ID:Xdie43+z.net]
- >>765
そんなもん独自のわけないだろ
- 787 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 22:27:08.33 ID:F2M8XGQu.net]
- MVVMにおいてactivityはviewでいいんだよな?
- 788 名前:デフォルトの名無しさん mailto:sage [2017/05/26(金) 23:41:27.21 ID:ZNc2U8qB.net]
- 更にいうとMVVMをさらに発展と言うか破綻しづらいようにしたのが
flux。MVVMのVMは双方向バインディングだけど fluxの場合は、Viewの変更は直接VMに反映しない方針。つまり片方向バインディングに限定した。 その代わりVMへの変更関連をActionに集約して Action -> State(VMに対応) -> View ->Action と片方向への情報の流れに限定したのがflux
- 789 名前:デフォルトの名無しさん [2017/05/27(土) 02:57:55.41 ID:V3ffhZkY.net]
- >MVC時代は相変わらずクラス側でVewのプロパティに代入してもVewは古い値を表示したまま
糞Windowsだけだろω
- 790 名前:デフォルトの名無しさん [2018/05/23(水) 23:07:17.16 ID:Au5e7VGg.net]
- 僕の知り合いの知り合いができたパソコン一台でお金持ちになれるやり方
役に立つかもしれません グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』 USCRF
- 791 名前:デフォルトの名無しさん [2018/07/04(水) 23:01:58.94 ID:gFgZc5FG.net]
- QIC
- 792 名前:デフォルトの名無しさん mailto:sage [2018/07/06(金) 12:35:20.43 ID:uTPDH9XV.net]
- USCRF
- 793 名前:デフォルトの名無しさん [2019/01/28(月) 14:30:35.46 ID:2/HZJEKq.net]
- LivetとPrismとはなんだったのか
- 794 名前:デフォルトの名無しさん [2019/01/28(月) 22:53:33.32 ID:ELKeaiTx.net]
- Livetは使った事ないから知らんがWPF開発には色々便利なものあったらしいしPrismも便利なとこあるんじゃないの
自分は使わんけど
- 795 名前:デフォルトの名無しさん [2019/01/30(水) 03:07:28.56 ID:nTVyoRLY.net]
- 知らんなら答えなくて良いんじゃね?
- 796 名前:デフォルトの名無しさん [2019/01/30(水) 10:24:55.23 ID:g/bNoaAl.net]
- 評判は聞いてたからその範囲で教えてあげてんだけど?
無知すぎるボンクラは逝ってどうぞ
- 797 名前:デフォルトの名無しさん mailto:sage [2019/01/30(水) 10:35:20.87 ID:MXCEKHH4.net]
- Prism.Unityは、UWP版のほうがシンプルでかつ十分な機能で良いんだけど
wpf版もあっち基準に改善したら良いのにな
- 798 名前:デフォルトの名無しさん [2019/01/30(水) 12:36:56.89 ID:m67rAUwN.net]
- https://teratail.com/questions/140681
MVVMやってるのこんなのばっかりだからな死滅すればいいよ
- 799 名前:デフォルトの名無しさん [2019/01/30(水) 12:37:12.23 ID:m67rAUwN.net]
- ハイハイ理解できないから終了ね
- 800 名前:デフォルトの名無しさん [2019/01/30(水) 12:38:11.42 ID:m67rAUwN.net]
- >>776
知らないなら答えなくていいんじゃね? ぼんくらは死ね
- 801 名前:デフォルトの名無しさん [2019/01/30(水) 12:43:13.60 ID:eltFPQSh.net]
- >>776
知らんなら答えなくて良いんじゃね? 過疎スレで無駄に煽るボンクラ
- 802 名前:デフォルトの名無しさん [2019/01/30(水) 14:39:06.71 ID:g/bNoaAl.net]
- 無知が顔真っ赤にしてテラワロス
- 803 名前:デフォルトの名無しさん [2019/02/05(火) 22:13:49.20 ID:y7JCcM6u.net]
- >>782
無知が顔真っ赤にしてテラワロスっておまw そんなんがほんとに面白い人とかいるのかね MVVMはどこいったのw スレタイと何も関係ない書き込みしちゃって頭おかしくないのボンクラwwww
- 804 名前:デフォルトの名無しさん [2019/02/05(火) 22:15:30.79 ID:y7JCcM6u.net]
- いやテラワロスってのはMVVMなんだろうな
無知なのでわからんわ
- 805 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 22:50:39.27 ID:sDFzuzWu.net]
- >>778
>INotifyPropertyChanged はバインド専門ではありません。 これって詭弁だよね MVVM使う時点で通常のモデルにすると不便だからINotifyPropertyChanged使うだけ
- 806 名前:デフォルトの名無しさん mailto:sage [2019/02/05(火) 22:57:59.44 ID:sDFzuzWu.net]
- MVVMじゃない設計で作られた モデル、ビジネスロジックがあってそれをMVVMで使う場合どうすんの?ってことなんだろうけど
もう一層外からくるんだだけじゃうまくいかないからほとんどを作り直しすることになるんじゃないかな?
- 807 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 02:16:42.38 ID:ar/eio3d.net]
- >>783
何日も前のに突然どうしたw >>785 MMV間は好きにすればいいかと 自分はわざわざMでINotifyPChangedなんか使わんけど
- 808 名前:デフォルトの名無しさん [2019/02/06(水) 09:39:48.85 ID:DbH07QrE.net]
- 俺なんかMVCすらよくわかんないな
Webは兎も角、それ以外はMVCだと言われてるアプリを見てもCからVを書き換えてるのだらけに見えちゃうんだな これでいいんか?それとも世の大半が間違えてるのか?どっちなんだ
- 809 名前:デフォルトの名無しさん mailto:sage [2019/02/06(水) 12:24:14.98 ID:ar/eio3d.net]
- Cからvだけでしかないってのはダメだと思うが、結局その場合にちょうどいい程度に疎結合になってればいいと思うけどね
自分はMVにロジックも詰め込んで、でかくなってきたらMにする程度でやってる
- 810 名前:デフォルトの名無しさん [2019/02/11(月) 03:23:52.16 ID:h3xrvU+a.net]
- いつも疑問なんだけどMVVMでダイアログ表示するときなんでVMでShowDialog()しちゃいかんの?
MessengerでViewに送ってコールバックでってやるよりもVMをDataContextにぶっこんで直接操作したほうがわかりやすくない?
- 811 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 04:01:02.71 ID:KW1QXsfq.net]
- >>790
MVVMのVMは、UIへの依存を排除することを試みるパターン。 なので、直接呼んで良いかと問われればNo UIの知識に起因する処理を行いたいのであれば、UIから提供されたインターフェースを介してUI操作を行うMVPの採用を検討する。 結局のところ、MV*の違いは責任範囲の違いだけであり、MVPがMVVMよりV寄りに広いパターンなので、MVVMをベースにMVPにしても構わない。 ただしその場合、混乱の元なのでMVVMとは呼称すべきではない。
- 812 名前:デフォルトの名無しさん [2019/02/11(月) 12:20:24.20 ID:YckZaLLU.net]
- >>790
ぶっ込んで直接操作が何を指してるのかわからん。 そのダイアログを表示がらみだと思うけどもうちっと具体的に言ってくれ。 元のViewと対応したVMがあったとして、そこからダイアログ表示させる場合でいいんだよね?
- 813 名前:デフォルトの名無しさん mailto:sage [2019/02/11(月) 13:34:01.09 ID:NWPg0Oyv.net]
- >>792
すまん、説明が悪かったかも あと無意識にWPFを前提に話してしまっていた MainWindow MainWindowViewModel MainWindowModel DialogWindow DialogWindowViewModel があったとしてMainWindowのボタン押下をトリガーにDialogWindowを表示したいとする でWPFの昨日でVMにコマンドバインディングしていたボタンの処理の中で DialogWindowのDataContextにDialogWindowViewModelを入れる →MainWindowViewModelの中でDialogWindowのインスタンスを生成する みたいな感じ
- 814 名前:デフォルトの名無しさん [2019/02/11(月) 15:12:43.09 ID:QkJqimZ7.net]
- VMからVを直接生成するのは禁じ手かと
てスタビリティーが担保できない
- 815 名前:デフォルトの名無しさん [2019/02/16(土) 02:23:43.23 ID:9HG1VuDS.net]
- 7年前から何も状況変わってなくてワロス
- 816 名前:デフォルトの名無しさん [2019/02/16(土) 02:52:06.72 ID:9HG1VuDS.net]
- https://teratail.com/questions/74961
わからないやつは使うな! でほんとに使わなかったケースが多かっただけみたいだな ユーザーの質がほんとひどい 難しい案件でだけ使えばいいがな
- 817 名前:デフォルトの名無しさん [2019/02/16(土) 09:30:22.31 ID:9K5d8FVn.net]
- 自分は自分で作るちょいアプリでも使ってるけどな
といってもVM膨らませてMもそこでやってて、ややこしくなったら分離させてるだけだけど
- 818 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 19:22:44.93 ID:PhVDH7kZ.net]
- WPF+MVVMはテストがつらい
M、VMでテストが出来てても実際にVでうまく動くかは全然わからない
- 819 名前:デフォルトの名無しさん [2019/02/16(土) 20:37:11.87 ID:9K5d8FVn.net]
- >>798
ん?それほかのUIフレームなら出来るん?
- 820 名前:デフォルトの名無しさん mailto:sage [2019/02/16(土) 20:48:59.47 ID:mveZudXk.net]
- アプリケーションのテストとしてはVM-M間で十分だと思うがな。
V-VM間はデータバインディングが意図通りか確認する程度だし。 少なくともFormsよりだいぶUIに近いところまで自動テストできるようになった。
- 821 名前:デフォルトの名無しさん [2019/02/17(日) 03:18:26.01 ID:xGFF6jRx.net]
- >>798
ViewはMVの状態をそのまま表示するだけってのが理想だからね セレニウムだっけ?WEBでのUIテスト出来る奴とかあるかもだけど、自動テストでそこまでの工数かけるのちときつくね? VMのテストならプログラム的にしやすいからまだわかる
- 822 名前:デフォルトの名無しさん [2019/03/17(日) 03:07:47.90 ID:ZfsC9V3u.net]
- >>698
バカには使えないありがたいアーキテクチャなので 普及とかはどうでもいい話だった
- 823 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 08:02:38.52 ID:F89k9A+v.net]
- VisualWorksのPluggable MVCとどう違うのだろうか?
- 824 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 18:31:05.56 ID:drnV2zGh.net]
- Pluggable MVCとはだいぶちがうだろう
Application Modelの間違い?
- 825 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 22:43:26.65 ID:F89k9A+v.net]
- >>804
ValueHolder、AspectAdaptor、PluggaleAdaptorとか
- 826 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 22:56:42.27 ID:drnV2zGh.net]
- ああ、そういうことか
もっと古典的でプリミティブなものを指しているのかと思った aokilab.kyoto-su.ac.jp/documents/MVC/page4.html
- 827 名前:デフォルトの名無しさん mailto:sage [2019/03/17(日) 23:43:40.49 ID:F89k9A+v.net]
- 結局、ビュー寄りのモデルを作るという発想は90年代初頭にVisualWorksで提唱されていたんじゃないかと。
- 828 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 01:01:31.84 ID:Y1evCyMB.net]
- まあその結論で合っているんだけど
ただValueHolderとかのアダプターはあくまで ApplicationModelのプロパティでデータバインドを実現するための道具に過ぎないので https://matarillo.com/general/uipatterns.php#p3 MVVMとの類似性に言及するのであれば Pluggable MVCではなく「ApplicationModelアーキテクチャ」と表現する方が誤解が無くてよいと思う wiki.c2.com/?ModelModelViewController
- 829 名前:デフォルトの名無しさん [2019/03/18(月) 01:37:38.06 ID:QCOM2t0u.net]
- もともとMVCとかでごちゃごちゃしてきたところにMVVMってことなんだろうな
デスクトップアプリに当てはめるのは微妙だったよ
- 830 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 07:19:28.89 ID:Y1evCyMB.net]
- いやそういう基本的な理解の欠如ではない
- 831 名前:デフォルトの名無しさん [2019/03/18(月) 09:45:01.81 ID:npgehNDX.net]
- デスクトップに当てはめるのが微妙ってのは何だ?仮想Dom的なものがあればおさまる話?
あとMVVMはMVCを改良したってよりもXAMLのバインディング気候に合わせたって側面の方が強いと思うがな それを改良と言えばそうだけど
- 832 名前:デフォルトの名無しさん mailto:sage [2019/03/18(月) 11:53:25.70 ID:sCXVSnIM.net]
- もしや810はMVCとMVC2を混同してるとか?
- 833 名前:デフォルトの名無しさん [2019/03/19(火) 03:35:07.74 ID:3jNcVOgT.net]
- 実装者の能力不足が問題になるということは設計パターンが悪いんだろ
本当に理解してるか確認するが難しいようなのもダメだ
- 834 名前:デフォルトの名無しさん mailto:sage [2019/03/19(火) 21:56:18.31 ID:RkrxeYqz.net]
- バインディングで楽が出来れば、それで満足よ
- 835 名前:デフォルトの名無しさん [2019/03/19(火) 22:06:06.31 ID:+Ccy7x/V.net]
- >>814
楽できるかどうかじゃなくて、 画面を直接触らずに済むかどうかの問題だろ。
- 836 名前:デフォルトの名無しさん [2019/03/22(金) 00:42:05.87 ID:piAmWzDj.net]
- こりゃ天才ですわ
https://qiita.com/hiki_neet_p/items/e381c687b0644c0e4978
- 837 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 12:04:36.21 ID:v6SxCCrX.net]
- 暇だから数年ぶりにWPFでも触ってみようかなと思ってるけど、
乱立してた結局MVVMライブラリって結局何かに統一された? Livetは死んでしまったみたいだねw 個人的には応援してだけど
- 838 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 19:49:16.08 ID:YQby5rNV.net]
- >>817
統一されたかどうかは分からんが、 https://github.com/XamSome/awesome-xamarin/blob/master/README.md#mvvm によると、ReavtiveUI, MVVVCross, Prismあたりが人気らしい
- 839 名前:デフォルトの名無しさん mailto:sage [2019/05/30(木) 19:50:47.36 ID:YQby5rNV.net]
- >>818
typo x MVVVCross o MVVMCross
- 840 名前:デフォルトの名無しさん [2019/06/19(水) 05:03:53.74 ID:tVNS+22r.net]
- 【出資】松本卓朗 人工知能詐欺【注意】
https://rio2016.5ch.net/test/read.cgi/rikei/1560859403/
- 841 名前:デフォルトの名無しさん mailto:sage [2019/07/27(土) 02:26:32.72 ID:0sBDs5f5.net]
- むっちゃ初歩的なところの質問になってしまうのですが、
WPF + Prismの環境で、画像ファイル(png)をウインドウ内にタイル状に並べたいのですが、 単体でパスをSourceに指定して、Converterを通して表示、までは出来たのですが、 これをListView上でおこなおうとすると、ListviewにBindingしているObservableCollectionにAddしても、 画像が表示されません。 何かわかりやすいサンプルや、チュートリアルなどありませんでしょうか?
- 842 名前:デフォルトの名無しさん [2019/07/27(土) 03:17:09.73 ID:l8PDbbg2.net]
- >>821
チュートリアルは知らんが、リストにテキストやボタンは表示できるの? 出来るなら今単体でコレクションの要素とビューテワやってる関係を同じようにするだけだけど
- 843 名前:デフォルトの名無しさん mailto:sage [2019/07/27(土) 10:04:07.36 ID:0p0d4tKK.net]
- >>821
ListViewのTemplateをGridViewとしDataTemplate使うんじゃなかった? よく知らんけど。
- 844 名前:デフォルトの名無しさん [2019/11/01(金) 18:07:00.51 ID:hqW7WiA1.net]
- >>821
どんな見た目作りたいの?
- 845 名前:デフォルトの名無しさん [2020/07/02(木) 15:07:15.93 ID:WhLcbIiC.net]
- MMVMで言語を作る!
- 846 名前:デフォルトの名無しさん [2020/07/02(木) 17:47:32 ID:WhLcbIiC.net]
- LLVMと勘違いした
- 847 名前:デフォルトの名無しさん [2021/01/27(水) 11:51:54.98 ID:cJSBZXf9.net]
- てす
- 848 名前:デフォルトの名無しさん mailto:sage [2021/01/27(水) 23:40:32.54 ID:7/w7pDgL.net]
- Win Formsでやってる人いますか?
datagridviewで値によってセルの色を変える場合、どのようにしてますか?
- 849 名前:デフォルトの名無しさん mailto:sage [2021/01/28(木) 01:44:53.83 ID:aQj0oWVr.net]
- >>828
BindingListへの追加・変更・削除がイベントで拾えるので、 そのイベントハンドラで状態に応じてセル変更すればいいんじゃね? 汎用化するのであれば、BindingListを[M]、Gridを[V]とみなし、 その間を取り持つPresenterに移譲させるMVPパターンにするとかか めんどくさがりやなので、前者でお茶を濁すかなぁ
- 850 名前:デフォルトの名無しさん mailto:sage [2021/01/29(金) 20:29:07.30 ID:czxZDJRE.net]
- MVVMはバインディングを活用するために考案されたパターンなので、WinFormsでは実践できません
- 851 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 19:09:08.24 ID:LnwudBv/.net]
- ユーザーメリットなしのオナニー
- 852 名前:デフォルトの名無しさん mailto:sage [2021/02/02(火) 21:40:04.70 ID:WEqR7ZrT.net]
- ユーザーってのがアプリユーザならその通り
開発者は恩恵受けてるよ
- 853 名前:デフォルトの名無しさん [2021/04/06(火) 11:03:35.23 ID:A0Gb+cSU.net]
- MVVM おっそ。
イベント発生元からトンネル経由しない前に捕まえて、View->ViewModelのイベントデリゲート呼ぶのが一番速い。 Commnad Bindingなんか使ってられない。 遅くて・・・
- 854 名前: []
- [ここ壊れてます]
- 855 名前:デフォルトの名無しさん [2024/02/29(木) 21:06:03.14 ID:xliFyZcDB]
- 拉致ガーだの個人の尊厳や人権の意義だの都合のいい昔話ほさ゛いてる松野博一は朝鮮人大勢殺害した過去についても触れろよ
大量破壊兵器クソ航空機による強盗殺人という重大な人権侵害もスルー、税金て゛地球破壊支援.世界最悪の脱炭素拒否テロ国家に送られる 化石賞4連続受賞して世界中から非難されていながら力による一方的な現状変更によって滑走路にクソ航空機にと倍増 閑静な住宅地から都心まで数珠つなぎで鉄道の30倍以上もの莫大な温室効果ガスまき散らして騒音まみれ、静音が生命線の知的産業壊滅 子供の学習環境破壊、気侯変動させて海水温上昇させてかつてない量の水蒸気を日本列島に供給させて土砂崩れ、洪水、暴風,熱中症にと 住民の生命と財産を徹底的に破壊することで私腹を肥やす世界最惡のマッチポンプ殺人テ口組織公明党天下り犯罪集団国土破壊省斉藤鉄夫 とともに好き放題破壞と殺戮を繰り返して隣国挑發して原爆落とした世界最悪ならず者国家まで崇拝して白々しい軍拡増税 物事の本質を理解できない孑供洗脳して兵隊にして私腹を肥やそうというテロ組織に乗っ取られた日本で子なんか産むのは相当の盆暗だけ (ref.) Тtps://www.call4.jр/info.php?ΤУрe=iтems&id=I0000062 ttРs://haneda-Ρroject.jimdofree.com/ , ttps://flight-route.com/ ttps://n-souonhigaisosyoudan.amebaownd.com/
- 856 名前:過去ログ ★ [[過去ログ]]
- ■ このスレッドは過去ログ倉庫に格納されています
|

|