0

私はカスタム 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>

どんな考えでも大歓迎です。

4

0 に答える 0