/ / Jak wyłączyć combobox w oparciu o inny combobox w wpf - wpf, wpf-control

Jak wyłączyć combobox na podstawie innych combobox w wpf - wpf, wpf-controls

Mam 2 combobox w tym samym oknie wpf. Pierwszym elementem w pierwszym comboboxie jest selectversion i jest on wybierany domyślnie (isselected = true). Teraz potrzebuję, aby drugi combobox był wyłączony, jeśli pierwszy element pierwszego comboboxa zostanie wybrany W przeciwnym razie włączony.

Próbowałem śledzić,

If (absversion.selectedindex! = 0)

Secondcombo.isenabled = false: // tutaj otrzymuję wyjątek odniesienia o wartości NULL

Jeszcze Secondcombo.isenabled = true:

W zdarzeniu page_loaded i ve

Secondcombo.isenabled = false //, dzięki czemu Secondcombo zostanie domyślnie wyłączone wen załadowane.

Czy ktoś mógłby mi pomóc, aby to zrobić.

Odpowiedzi:

3 dla odpowiedzi № 1

Byłbym bardziej skłonny to zrobić w XAML niż w codebehind:

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