Ho 2 combobox in una stessa finestra wpf. Il primo elemento nella prima casella combinata è selectversion ed è selezionato per impostazione predefinita (isselected = true). Ora ho bisogno che la seconda casella combinata sia disabilitata se il primo elemento della prima casella combinata è selezionato Altrimenti abilitato.
Ho provato a seguire,
Se (absversion.selectedindex! = 0)
Secondcombo.isenabled = false: // sto ricevendo un'eccezione di riferimento null
Altro Secondcombo.isenabled = true:
Nell'evento page_loaded ho ve,
Secondcombo.isenabled = false // in modo che Secondcombo venga disabilitato per impostazione predefinita wen caricato.
Qualcuno potrebbe aiutarmi, per farlo.
risposte:
3 per risposta № 1Sarei più propenso a farlo in XAML piuttosto che in 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>