0

私はこれを持っていますCheckBox

<CheckBox x:Name="checkNotAppointed" Grid.Column="1" Grid.Row="2" Content="Not Appointed" >
    <CheckBox.Style>
        <Style TargetType="{x:Type CheckBox}">
            <Setter Property="Margin" Value="2" />
            <Setter Property="IsEnabled" Value="True" />
            <Setter Property="IsChecked" Value="{Binding FilterForNotAppointed, UpdateSourceTrigger=PropertyChanged}" />
            <Style.Triggers>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding IsChecked, ElementName=checkElder}" Value="True" />
                        <Condition Binding="{Binding IsChecked, ElementName=checkMinisterialServant}" Value="False" />
                    </MultiDataTrigger.Conditions>
                    <Setter Property="IsEnabled" Value="True" />
                </MultiDataTrigger>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding IsChecked, ElementName=checkElder}" Value="False" />
                        <Condition Binding="{Binding IsChecked, ElementName=checkMinisterialServant}" Value="True" />
                    </MultiDataTrigger.Conditions>
                    <Setter Property="IsEnabled" Value="True" />
                </MultiDataTrigger>
                <MultiDataTrigger>
                    <MultiDataTrigger.Conditions>
                        <Condition Binding="{Binding IsChecked, ElementName=checkElder}" Value="False" />
                        <Condition Binding="{Binding IsChecked, ElementName=checkMinisterialServant}" Value="False" />
                    </MultiDataTrigger.Conditions>
                    <Setter Property="IsChecked" Value="True" />
                    <Setter Property="IsEnabled" Value="False" />
                </MultiDataTrigger>
            </Style.Triggers>
        </Style>
    </CheckBox.Style>
</CheckBox>

どちらかcheckElderのチェックを外した場合、またはcheckMinisterialServant影響はありませんcheckNotAppointed。正しい。

両方のチェックを外すと、チェックされてcheckNotAppointed無効になります。正しい。

次に、他の 2 つのうちの 1 つをオンにすると、有効になりますcheckNotAppointedが、常にオフになります。なんで?

4

1 に答える 1

0

セッターのバインディングに不足している部分 (IsChecked) があります。次のようにする必要があります。

  <Setter Property="IsChecked" Value="{Binding IsChecked, ElementName=FilterForNotAppointed}"/>

あなたのコメントに基づいて、FilterForNotAppointed は別のコンボ ボックスであるため、これらを追加して確認できます。

<StackPanel Orientation="Horizontal">
        <Label Content="FilterForNotAppointed' IsChecked:"/>
        <TextBlock VerticalAlignment="Center" Text="{Binding IsChecked, ElementName=FilterForNotAppointed}"/>
 </StackPanel>

 <StackPanel Orientation="Horizontal">
        <Label Content="checkNotAppointed's IsChecked:"/>
        <TextBlock VerticalAlignment="Center" Text="{Binding IsChecked, ElementName=checkNotAppointed}"/>
 </StackPanel>
于 2016-06-29T05:26:45.453 に答える