WPF:绑定选择的comoboboxItem
本文关键字:comoboboxItem 选择 绑定 WPF | 更新日期: 2023-09-27 18:02:47
我想启用/禁用'CheckBox'元素,根据'ComboBoxItem'被选中。我不知道如何使用WPF绑定实现这个功能。
更具体地说,这是我的xaml代码。
<ComboBox x:Name="typeComboBox" SelectedValuePath="Tag">
<ComboBoxItem Content="type1" Tag="1"></ComboBoxItem>
<ComboBoxItem Content="type2" Tag="2" IsSelected="True"></ComboBoxItem>
</ComboBox>
<CheckBox x:Name="mode" Content="Mode"
IsEnabled="{Binding ElementName=typeComboBox, Path=SelectedValue??}"/>
我希望只有当'type2'被选中时,'mode'才启用。如果选择了'type1', 'mode'应该被禁用。我可以绑定'CheckBox'的'IsEnabled'属性到'ComboBox'的'selectedValue'属性吗?
我曾尝试将此函数实现为'SelectionChanged'事件,但'NullReferenceException'发生。所以我尝试使用WPF绑定
应该可以:
<ComboBox x:Name="typeComboBox" SelectedValuePath="Tag">
<ComboBoxItem x:Name="box1" Content="type1" Tag="1"/>
<ComboBoxItem x:Name="box2" Content="type2" Tag="2" IsSelected="True"/>
</ComboBox>
<CheckBox x:Name="mode" Content="Mode" IsEnabled="{Binding ElementName=box2, Path=IsSelected}"/>
试试这个:
<ComboBox x:Name="combo">
<ComboBoxItem x:Name="type1" Content="type1" IsSelected="True"></ComboBoxItem>
<ComboBoxItem x:Name="type2" Content="type2"></ComboBoxItem>
</ComboBox>
<CheckBox>
<CheckBox.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding IsSelected, ElementName=type2}" Value="True">
<Setter Property="CheckBox.IsEnabled" Value="True"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsSelected, ElementName=type1}" Value="True">
<Setter Property="CheckBox.IsEnabled" Value="False"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</CheckBox.Style>
</CheckBox>