データソースMyInformationにバインドしているグリッドビューがあるとします。列の1つがチェックボックスです。私はそれに何かを縛りたい。 ViewModelには私のチェックボックスがメンバーと紐付けされていません
ItemsSource="{Binding MyInformation}"
。
public ObservableCollection<Container> MyInformation
{
get
{
if (this.myInformation == null)
{
this.myInformation = new ObservableCollection<Container>();
}
return this.myInformation;
}
set
{
if (this.myInformation != value)
{
this.myInformation = value;
this.OnPropertyChanged("MyInformation");
}
}
}
クラスコンテナには「GoodValue」というメンバーがあります。
public class Container
{
public bool GoodValue {get;set;}
//
}
私は、メンバーにチェックボックスをバインドしています。
<DataTemplate>
<CheckBox HorizontalAlignment="Center" IsChecked="{Binding GoodValue, Converter={StaticResource ShortToBooleanConverter}}" Click="CheckBox_Checked"></CheckBox>
</DataTemplate>
私はGoodValue
を考えると、私はViewModelにで作成したプロパティGoodValue
を持っていないが、コンテナのメンバーです。 ObservableCollectionにはそれが自動的に含まれます。
問題は、データベースからデータを読み取るたびに発生します。チェックボックスはオフになっています。だから私は自分のコードを疑う。ヒントありがとう。
エラーを見つけます。私のShortToBooleanConverterが間違っています。 trueの場合は1、falseの場合は0です。しかし、私の場合、テーブルの値は1/0ではありません。私はコンバータを書き直さなければならない。 – Bigeyes