WPF
DataGrid, ListView, ListBox などの ItemsControl で複数選択したとき、選択結果は SelectedItems に入っていますが、残念なことにこのプロパティは Binding 非対応です。 バインディングしたい場合は IsSelected プロパティを用意するなど面倒な手順が必要…
DataGrid や ListView などの ItemsControl に対して、検索結果等で絞り込んで表示したいときは、CollectionViewSource のフィルタリング機能が使用できます。 やり方: VMに CollectionViewSource のプロパティを定義します。 public CollectionViewSource …
例えば検索ボックスで、TextBox上でEnterキーが押されたら検索を実行したい、みたいな場合、KeyBinding を使うとキーが押されたときにコマンドを実行できます。 このとき、もちろん検索文字列も欲しいので、入力された文字列を CommandParameter で渡してあ…
MVVMの目的は、Model(M)、ViewModel(VM)、View(V) を疎結合にすることです。 このため、View は VM を知っていても許すけど、VM が View を知っていることは許さない。という原則があります。 ここで、子画面をモーダルで開くことを考えてみます。する…
WPFはやっぱりMVVMでつくりたいですが、最初のプロジェクトをつくるところがちょっと面倒です。 本当はプロジェクトテンプレート的なものにすればいいと思うんですが、とりあえずいつもの手順を書き出してみます。 プロジェクトをつくる Visual Studio 2019 …