- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
734 :デフォルトの名無しさん[sage]:2015/02/23(月) 07:42:59.41 ID:vTCWNzEv - >>731
モデルからVMテンプレート吐き出すツール使ってるから必ずVMかませてるけど、そういうのないと、面倒だしな モデルとVMが全く一緒ならかませる意味ないというかモデルのプロパティ追加忘れたりするデメリットになる VM作らないのが正当かどうかは自分が決めれば良い
|
- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
736 :デフォルトの名無しさん[sage]:2015/02/23(月) 08:27:14.78 ID:vTCWNzEv - 逆にモデルにコマンド持たせたりメッセージボックス表示したりはNG
|
- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
738 :デフォルトの名無しさん[sage]:2015/02/23(月) 09:42:38.10 ID:vTCWNzEv - >>737
そういう意味ではVMかましてる IsSelectedなんてのはモデルに持つものじゃないから
|
- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
739 :デフォルトの名無しさん[sage]:2015/02/23(月) 09:48:04.97 ID:vTCWNzEv - まあ、ケースバイケースだとは思うけど
IsSelectedにBindingするプロパティがモデルに対して作用するものならモデルに持たせる話だし、選択したものを削除みたいな話ならVMにわけるべきだと思う
|
- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
742 :デフォルトの名無しさん[sage]:2015/02/23(月) 12:04:14.39 ID:vTCWNzEv - >>740
Stackoverflow のMVVM SYNC COLLECTION スレッド(?)にモデルのコレクションとVMのコレクションを勝手に同期とってくれるクラスが載ってるから見てみると良いかも そのままだとM→VMは同期取れるけど、VM→Mの同期はとれないから、VM側のコレクションはReadOnlyObservavbleCollection返すのと、CollectionChangedにWeakEventHandler使うようにした改良版使ってる
|
- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
743 :デフォルトの名無しさん[sage]:2015/02/23(月) 12:13:21.46 ID:vTCWNzEv - ReadOnlyObservavbleCollection返すのは誤ってVM側のコレクションを操作しないようにってことね
コレクションの操作は一貫してモデル側で行う VMコレクションに操作を許してモデルに反映させるなんてのはしないし、やっちゃいけないと思ってる
|
- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
746 :デフォルトの名無しさん[sage]:2015/02/23(月) 14:13:43.66 ID:vTCWNzEv - >>744
逆にきくけど、新規行なんかはモデルをもってないVMに退避してるってこと?
|
- WPF(XAML, XBAP, .NET4.0)GUIプログラミング Part18
747 :デフォルトの名無しさん[sage]:2015/02/23(月) 14:21:26.53 ID:vTCWNzEv - まあ、言い方悪かったかな
やっちゃいけないと言うのは俺の中でのルールね 他人に押し付ける気はないし、俺が採用してる方法がベストとも思ってないから「良いかも」なんて書き方した
|