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 № 1Był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>