指定されたリストに指定された値が含まれているかどうかをチェックし、含まれている場合は true を返す MultiValueConverter を作成しました。カスタムチェックボックスリストへのバインドに使用します。ここで、ConvertBack メソッドを記述して、チェックボックスがオンになっている場合に元の値がモデルに送信されるようにします。ConvertBack メソッドで値にアクセスする方法はありますか?
XAML:
<ListBox.ItemTemplate>
<HierarchicalDataTemplate>
<CheckBox Content="{Binding Path=Description}">
<CheckBox.IsChecked>
<MultiBinding Converter="{x:Static Classes:ListContainsMultiConverter.Instance}">
<Binding Path="Id" />
<Binding Path="DataContext.ContactTypes" RelativeSource="{RelativeSource AncestorType={x:Type Window}}" />
</MultiBinding>
</CheckBox.IsChecked>
</CheckBox>
</HierarchicalDataTemplate>
</ListBox.ItemTemplate>
バインドすると正しい結果が得られますが、元に戻すときにバインドされた ID を取得する方法はありますか? 私が達成したいのは、チェックボックスがチェックされていない場合、値がリストから削除され、チェックされている場合、値がリストに追加されることです。