데이터 소스 MyInformation에 바인딩 된 그리드 뷰가 있다고 가정 해보십시오. 열 중 하나가 선택란입니다. 나는 그걸로 뭔가를 묶고 싶다.내 체크 박스가 멤버와 바인딩되어 있지 않습니다.
ItemsSource="{Binding MyInformation}"
ViewModel에서.
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
생각으로 내가 뷰 모델에서 만든 재산 GoodValue
이없는이 컨테이너의 구성원입니다. ObservableCollection에는 자동으로 포함됩니다.
문제는 데이터베이스에서 데이터를 읽을 때마다 발생합니다. 이 확인란은 선택되어 있지 않습니다. 그래서 나는 내 코드를 의심한다. 힌트를 가져 주셔서 감사합니다.
그냥 오류를 찾으십시오. 내 ShortToBooleanConverter가 잘못되었습니다. true이면 1, false는 0입니다. 그러나 제 경우에는 테이블의 값이 1/0이 아닙니다. 변환기를 다시 작성해야합니다. – Bigeyes