如何基于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>