ComboBoxバインディングに関する質問があります。SilverlightでのComboBoxフィルタリング
私はいくつかの値でいっぱいのコンボボックスを持っており、このコンボボックスをフィルタリングしたいだけで、checkBoxの値を満たす値を表示します。
例:私は男性という名前のチェックボックスを持っています。私がチェックしたときに、GenderがMaleのオブジェクトだけをcomboBoxに表示したいのです。
これは可能ですか?
ComboBoxバインディングに関する質問があります。SilverlightでのComboBoxフィルタリング
私はいくつかの値でいっぱいのコンボボックスを持っており、このコンボボックスをフィルタリングしたいだけで、checkBoxの値を満たす値を表示します。
例:私は男性という名前のチェックボックスを持っています。私がチェックしたときに、GenderがMaleのオブジェクトだけをcomboBoxに表示したいのです。
これは可能ですか?
ComboBoxをコレクションにバインドします(たとえば、観察可能なコレクションと、チェックボックスのboolへの双方向バインディング)。 チェックボックスをクリックすると、boolプロパティが通知されます。そのフィルタに基づいてあなたのコレクション。コンボボックスにフィルタリングされた項目が表示されるようになりました。
PagedCollectionViewを確認してください。 ComboBoxが現在バインドしているコレクションをPageCollectionViewに渡してからバインドします。 PagedCollectionViewには、コレクション内のアイテムをフィルタリングするためにプレディケートをとるFilterプロパティがあります。
フィルタで使用されているプロパティが更新されたときに更新されない問題がフィルタにあります。また、項目が変更されても更新されません。強制的に更新するには、nullに設定して元の値に戻すことができます。 Refreshメソッドで何かできるかもしれませんが、私はそれをテストしていません。