RadListBox で UI の問題が発生し、チェックボックス内の項目をチェックしています。問題は、チェックボックスでの選択がイベントをトリガーしないことです。RADListBox での選択がイベントをトリガーするためです。また、ユーザーはチェックボックスをオンにしてから、radlistbox 内の項目を選択 (クリック) して、その SelectedValue イベントをトリガーする必要があります。ユーザーがチェックボックスをオンにすると、RadListBox の Selectedvalue イベントも呼び出されるようにしたいと考えています。ここに私のWPFコードがあります:
<telerik:RadListBox Grid.Row="1" x:Name="ExportersList" ItemsSource="{Binding Exporters}" Style="{StaticResource ModalListBoxStyle}"
Visibility="{Binding ExportComplete, Converter={StaticResource InverseBoolToVisibilityConverter}}"
SelectedValue="{Binding ExportFormatName, Mode=TwoWay}" SelectedValuePath="Name" SelectionMode="Multiple">
<telerik:RadListBox.ItemTemplate>
<DataTemplate DataType="{x:Type interfaces:BaseTourSheetExporterType}">
<StackPanel Orientation="Horizontal">
<CheckBox IsChecked="{Binding IsExporterChecked}" />
<TextBlock Text="{Binding Name}" Margin="5" />
</StackPanel>
</DataTemplate>
</telerik:RadListBox.ItemTemplate>
</telerik:RadListBox>
イベント SelectedValue は私のクラスのプロパティにバインドされており、取得/設定するときに別のボタンを有効/無効にしていることに注意してください。Checkbox IsChecked イベント (ユーザーがチェックボックスをオンまたはオフにしたとき) を取得して radlistbox の selectedvalue イベントをトリガーし、基本的にユーザーが別の get/set プロパティをトリガーするチェックボックスをオン/オフにする方法がわかりません ( ExportFormatName)。このようにして、ユーザーは radlistbox でアイテムを再度選択することなく (チェックボックスの外側をクリックして)、その get/set プロパティ イベントをトリガーすることができます。このWPFの部分で私を助けてください。
これとは別に、メンバーのブール値 (IsExporterChecked) を保持する BaseTourSheetExporterType というクラスに CheckBox IsChecked を意図的にバインドしています。これにより、チェックされているかどうかが決まります (このクラスとメンバーは、ウィンドウを再度開いたときに変更を記憶する必要があります)。