次のテンプレートを使用してチェック リスト ボックスを作成しています。
<Style x:Key="CheckBoxListStyle" TargetType="{x:Type ListBox}">
<Setter Property="SelectionMode" Value="Multiple"></Setter>
<Setter Property="ItemContainerStyle">
<Setter.Value>
<Style TargetType="{x:Type ListBoxItem}" >
<Setter Property="Margin" Value="2" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type ListBoxItem}">
<CheckBox IsChecked="{Binding Path=xxxxxxxxxxx,RelativeSource={RelativeSource TemplatedParent},Mode=TwoWay}"> <ContentPresenter></ContentPresenter>
</CheckBox>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</Setter.Value>
</Setter>
</Style>
<ListBox Style="{StaticResource CheckBoxListStyle}" ItemsSource="{Binding Path=Configuration.ProductTypes}" DisplayMemberPath="ProductName" />
私の問題は、データベースからすべての製品タイプを取得し、それをリスト ボックスの項目ソースにバインドしていることです。属する製品タイプのリストを含む製品クラスがあります。製品の製品タイプ リストに基づいて、チェック ボックスの IsChecked プロパティを設定する必要があります。通常、1 つ以上のチェック ボックスの IsChecked プロパティを設定する必要があります。商品は 1 つ以上の商品タイプに属している可能性があります。選択モードは複数選択です。ユーザーが追加の製品タイプのチェックボックスをオンにした場合..チェックされたリストボックスの合計を取得してデータベースに保存する必要があります...これはMVVM WPFアプリケーションです...このシナリオを解決する方法についてのアイデア
...コントロール テンプレートのパスは IsChecked ですか?
ありがとうレイ
質問を簡単にしましょう。チェックボックスとテキストブロックを備えたリスト ボックスが必要です。テキストブロックのデータ コンテキストが異なり、チェック ボックスのデータ コンテキストが異なります。つまり、彼らはさまざまなオブジェクトからデータを取得します。これを達成する方法がわかりません...