1

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 を意図的にバインドしています。これにより、チェックされているかどうかが決まります (このクラスとメンバーは、ウィンドウを再度開いたときに変更を記憶する必要があります)。

4

1 に答える 1