私はカスタム WPF コントロールを持っています - 基本的にチェックボックス付きのコンボボックスです。コンボボックスは、利用可能なアイテムのリストに正常にバインドされています。
このコントロールは、フォーム上のフィールドを表します。フォームがすでに完成している可能性があります。その場合、選択されたアイテムでコントロールをレンダリングする必要があります。つまり、以前に選択したアイテムは、チェックされた CheckBox としてレンダリングする必要があります。ここで私は困っています。
私の最初の考えは、IsChecked プロパティをバインドすることでした。現在選択されている項目のリストは、ComboBox がバインドされている使用可能な項目のリストとは異なるため、これは実行できないと思います。
基本的に、CheckBox オブジェクトにアクセスして Checked プロパティを true に設定するにはどうすればよいでしょうか。私はこれを広範囲に調べましたが、これを理解することはできません。
私は ItemContainerGenerator アプローチを使用しているため、ユーザーがドロップダウンをクリックすると、ハンドラーが CheckBoxes を反復処理し、関連するボックスをオンに設定することが意図されています。
XAML は次のとおりです。
<ComboBox x:Name="FieldOptions"
ItemsSource="{Binding}"
HorizontalAlignment="Stretch"
Height="30"
KeyDown="FieldOptions_OnKeyDown">
<ComboBox.ItemTemplate>
<DataTemplate>
<CheckBox Name="checkbox"
Content="{Binding Path=Text}"
Uid="{Binding Path=ID}"
FontStyle="Normal"
Foreground="Black"
Checked="CheckBox_OnChecked" />
</DataTemplate>
</ComboBox.ItemTemplate>
どんな考えでも大歓迎です。