MVVMアプリケーションを実行していて、データグリッド内のチェックボックスをバインドしようとしていますが、Propertychangedイベントが発生しません。ビューモデルと基本クラスにINotifypropertychangedを実装しましたが、それでもプロパティが起動せず、チェックボックスが更新されません。updatesourcetrigger = explicitやpropertychangedの設定など、考えられるすべてのことを試しましたが、機能しません。私は何を間違っているのでしょうか?私には理解する方法がありません。グリッドのデータコンテキストは、ObservableCollectionにバインドされているListViewCollectionに設定されます。
<DataGridCheckBoxColumn Header="Tier1" Binding="{Binding Tier1Check,Mode=TwoWay}"></DataGridCheckBoxColumn>
<DataGridCheckBoxColumn Header="Tier2" Binding="{Binding Tier2Check,Mode=TwoWay}"></DataGridCheckBoxColumn>
<DataGridCheckBoxColumn Header="Tier3" Binding="{Binding Tier3Check,Mode=TwoWay}"></DataGridCheckBoxColumn>
<DataGridCheckBoxColumn Header="DoNotUse" Binding="{Binding DoNotUseCheck,Mode=TwoWay}"></DataGridCheckBoxColumn>
<!--<DataGridCheckBoxColumn Header="Tier1" Binding="{Binding IsChecked}" />
<DataGridCheckBoxColumn Header="Tier2" Binding="{Binding IsChecked}" />
<DataGridCheckBoxColumn Header="Tier3" Binding="{Binding IsChecked}"/>-->
</DataGrid.Columns>
</DataGrid>
ViewModel ... 4つのチェックボックスがあり、コードはそれらを相互に排他的にするために固有です。
public bool? Tier1Check
{
get
{
return Tier1Check;
}
set
{
Tier1Check = value;
Tier2Check = false;
Tier3Check = false;
DoNotUseCheck = false;
RaisePropertyChanged("Tier2Check");
RaisePropertyChanged("Tier3Check");
RaisePropertyChanged("Tier1Check");
RaisePropertyChanged("DoNotUseCheck");
}
}