我在同一个wpf窗口中有2个组合框。第一个组合框中的第一项是selectversion,默认选择它(isselected = true)。现在,如果选择第一个组合框的第一项,则需要禁用第二个组合框否则启用。
我试过了,
if(absversion.selectedindex!= 0)
Secondcombo.isenabled = false://这里我得到空引用异常
否则 Secondcombo.isenabled = true:
在page_loaded事件中,
Secondcombo.isenabled = false //因此默认情况下会禁用Secondcombo。
有人可以帮助我,完成这项工作。
答案 0 :(得分:3)
我更倾向于在XAML中执行此操作而不是在代码隐藏中执行此操作:
<Grid x:Name="LayoutRoot">
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<ComboBox Grid.Row="0" x:Name="ComboBox1">
<ComboBoxItem>Item 1</ComboBoxItem>
<ComboBoxItem>Item 2</ComboBoxItem>
<ComboBoxItem>Item 3</ComboBoxItem>
</ComboBox>
<ComboBox Grid.Row="1">
<ComboBox.Style>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="IsEnabled" Value="True" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=ComboBox1, Path=SelectedIndex}" Value="0">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
<ComboBoxItem>Item 1</ComboBoxItem>
<ComboBoxItem>Item 2</ComboBoxItem>
<ComboBoxItem>Item 3</ComboBoxItem>
</ComboBox>
</Grid>