/ / Wie Combobox auf anderen Combobox in WPF - WPF, WPF-Steuerelemente zu deaktivieren

Wie man die Combobox auf Basis einer anderen Combobox in wpf - wpf, wpf-controls deaktiviert

Ich habe 2 Combobox in einem gleichen WPF-Fenster. Das erste Element in der ersten Combobox ist Selectversion und ist standardmäßig ausgewählt (isselected = true). Jetzt muss ich die zweite Combobox deaktivieren, wenn das erste Element der ersten Combobox ausgewählt ist, ansonsten aktiviert.

Ich habe versucht, zu folgen,

Wenn (absversion.selectedindex! = 0)

Secondcombo.isentabled = false: // hier bekomme ich eine Null-Referenz-Ausnahme

Sonst Secondcombo.isenabled = wahr:

In page_loaded Ereignis habe ich,

Secondcombo.isabled = false //, so dass Secondcombo standardmäßig nicht geladen wird.

Könnte mir bitte jemand helfen, um das zu schaffen.

Antworten:

3 für die Antwort № 1

Ich würde eher dazu neigen, dies in XAML als in Codebehind zu tun:

<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>