WPF UserControl View/ViewModelのペアを作成しました。ビューXAMLがレイアウトとバインディングを処理し、ViewModelが推奨されたロジックをインラインで処理します。 MVVMパターン。WPF ViewModel/View UserControlをコントロールとしてカプセル化するには
私はこれをコントロールとして再利用したいと考えています。
ビューに関連付けられたViewModelを非表示にしてカプセル化すると、標準のコントロール[ボタンなど]と同じようにコントロールを使用できますか?
つまり、コントロールのビューモデルを非表示にするにはどうすればよいですか?
私のコントロールがテキスト(検索文字列)ボックスとリストボックスで構成されているとしましょう。コントロールのVMは、2つのコレクションをプロパティとして公開します.1。アイテムの合計リスト、および2.現在の検索文字列に一致するアイテムのリスト。また、2つのプロパティが公開されます:1.選択された項目の場合2.検索文字列の場合2.コントロールのプライマリデータコンテキストは独自の内部VMです。上で示唆したように行うことができます。次に、これらの「中間」プロパティを親ビューの小道具にバインドできるように、ビューに「中間」プロパティを公開する方法です。 –
あなたのコントロール(ビュークラス)の依存プロパティ(DP)として '中間'プロパティを作成し、親コントロールで他のコントロールと同じように使用します。 – Arseny