У меня есть два GroupBoxes, которые используют CheckBoxes A и B в качестве своего заголовка. То, что я хочу, - это когда B проверен, я также хочу, чтобы A был проверен. A активируется только тогда, когда B не установлен. У меня есть следующий код:Триггер работает для IsEnabled, но не проверен в CheckBox
<GroupBox>
<GroupBox.Header>
<CheckBox Name="A">
<CheckBox.Style>
<Style TargetType="{x:Type CheckBox}">
<Setter Property="IsEnabled" Value="False" />
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ElementName=B, Path=IsChecked}" Value="True" />
</MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="False" />
<Setter Property="IsChecked" Value="True" />
</MultiDataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ElementName=B, Path=IsChecked}" Value="False" />
</MultiDataTrigger.Conditions>
<Setter Property="IsEnabled" Value="True" />
</MultiDataTrigger>
</Style.Triggers>
</Style>
</CheckBox.Style>
Check Box A
</CheckBox>
</GroupBox.Header>
</GroupBox>
<GroupBox>
<GroupBox.Header>
<CheckBox Name="B">
Check Box B
</CheckBox>
</GroupBox.Header>
</GroupBox>
У меня есть проблема, когда я снимите флажок Check Box B, A Флажок также будет снят. Что не так с моими триггерами?
Вы не можете использовать привязку 'ElementName' внутри триггера' Style'. Для этих элементов пользовательского интерфейса вам необходимо «ControlTemplate» или «DataTemplate», чтобы предоставить общий [NameScope] (http://msdn.microsoft.com/en-us/library/ms746659.aspx). –
в порядке. Я попробую. Но срабатывает триггер. Он включает/отключает флажок B. – Unplug