MVVM basic note

M ← VM ← V

 * ViewはVMを知っている
 * VMはModelを知っている

VとVMは、1:N でも書けるけど、
1:1 が望ましい。
(Nameを指定する必要が出てくるため)
RelayCommand は、ICommand を実装している。

プロパティを双方向にするには、INotifyPropertyChanged が必要だったが、
コマンドを検知するには、ICommand が必要となる。
んで、ビハインド側に、

「Command="{Binding Path=_cmdNone}"」

みたいなバインディング記述になる。
DataContext
 ⇒プロパティから値を拾う



バインディングできるのは、プロパティのみ(と考えていい。)
なので、Command="{Binding OkCommand}"
であったとしても、右辺にはプロパティを記述。 ※メソッドではない。
・M
データ(≒テーブル)の管理

・V
ユーザインターフェース

・VM
Model から View へ出力データを渡す
View から Model へ入力データを渡す

https://docs.microsoft.com/ja-jp/dotnet/standard/cross-platform/using-portable-class-library-with-model-view-view-model

CommandParameter
 ⇒ ViewModelが知らないオブジェクトに対して、何かしらの働きかけをする場合に使用する。


別に使わないでもいい。というか使わないでも十分解決できる。