如何基于wpf中的其他组合框禁用组合框
How to disable combobox based on other combobox in wpf
我在同一个 wpf 中有 2 个组合框 window。第一个组合框的第一项是 selectversion,它默认被选中(isselected=true)。现在,如果选择了第一个组合框的第一项,我需要禁用第二个组合框,否则启用。
我尝试关注,
If(absversion.selectedindex !=0)
Secondcombo.isenabled=false://here i am getting null reference exception
Else
Secondcombo.isenabled = true:
我在 page_loaded
事件中,
Secondcombo.isenabled = false //so that Secondcombo will be disabled by default wen loaded.
谁能帮我完成这件事。
相比代码隐藏,我更倾向于在 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>
我在同一个 wpf 中有 2 个组合框 window。第一个组合框的第一项是 selectversion,它默认被选中(isselected=true)。现在,如果选择了第一个组合框的第一项,我需要禁用第二个组合框,否则启用。
我尝试关注,
If(absversion.selectedindex !=0)
Secondcombo.isenabled=false://here i am getting null reference exception
Else
Secondcombo.isenabled = true:
我在 page_loaded
事件中,
Secondcombo.isenabled = false //so that Secondcombo will be disabled by default wen loaded.
谁能帮我完成这件事。
相比代码隐藏,我更倾向于在 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>