2016-11-15 5 views
0

私はWPFのチェックボックスコントロールでしばらく苦労しています。私がしようとしているのは何らかのフィルタを作ることです。 1.最初にチェックボックスコントロールにデータベース項目を入力する必要があります 2.何かチェックされているかどうか確認する必要があります 3.何かがチェックされていれば3番目にこれらの値を取得し、データベース 4.これに対してチェックボックスコントロールのみを使用するか、一部のコンテナまたはリストボックスに入れるべきですか?WPF - データベースからチェックボックスコントロールにデータをバインドする最良の方法は何ですか

ここにはこのような話題がありますが、完全な答えは見つけられず、お互いに互換性のない部分がたくさんあります。誰かが私にWPFのチェックボックスの仕組みを説明してくれたら、本当に感謝しています。

答えて

0

複数の値を持ち、それぞれに1つずつ複数のチェックボックスを表示する場合は、ListBoxを使用し、TemplateItemにCheckBoxを設定する必要があります。このようにアイテムのコレクションはListBoxにバインドされ、ListBoxの各アイテムにはCheckBoxが表示されます。

MVVMを実行していて、UIに触れたくない場合は、追加の手順があります。あなたがしていることは、あなたのクラスの周りにあり、IsCheckedデータ用の追加のプロパティを持つラッパークラスを作成することです。これにより、UIに触れることなくチェック状態を取得できます。

私は私のブログにこの例を持っている: Checked ListBox in WPF

あなただけの簡単なLINQクエリを必要とチェックされる項目を確認するには。だから私のブログの例を使用する場合は、このような何かを行うことができるはずです:

var checkedCustomers = Customers.Where(w => w.IsChecked).ToList();

+0

答えてくれてありがとうKelly。私はあなたのコードをブログから使いました。私のアプリケーションを起動したときにチェックボックスの項目が一杯ではなかったので、私のリストボックスは空です。またObservableコレクションを手動で埋めていることに気付きました。データベースのデータでデータを埋め込む方法はありますか?データベース内のデータが変更されたときに自動的に変更されます。 – Adicili

関連する問題