/ / wpfの他のコンボボックスに基づいてコンボボックスを無効にする方法-wpf、wpf-controls

wpf - wpf、wpf-controlsの他のコンボボックスに基づいてコンボボックスを無効にする方法

同じwpfウィンドウに2つのコンボボックスがあります。 最初のコンボボックスの最初の項目はselectversionであり、デフォルトで選択されています(isselected = true)。最初のコンボボックスの最初の項目が選択されている場合、2番目のコンボボックスを無効にする必要があります。

私はフォローしてみました、

If(absversion.selectedindex!= 0)

Secondcombo.isenabled = false://ここでnull参照例外が発生しています

その他 Secondcombo.isenabled = true:

page_loadedイベントi veで、

Secondcombo.isenabled = false //したがって、Secondcomboはデフォルトで無効になり、ロードされます。

誰でも私を助けてください、これを成し遂げるために。

回答:

回答№1の場合は3

私は、分離コードよりも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>