2015-06-25 2 views
1

У меня есть 2 combobox в одном окне wpf. Первый элемент в первом поле со списком - selectversion, и он выбирается по умолчанию (isselected = true). Теперь мне нужно, чтобы второй combobox был отключен, если выбран первый элемент первого списка combobox. В противном случае включена.Как отключить combobox на основе других combobox в wpf

Я попытался следующие,

Если (absversion.selectedindex = 0!)

Secondcombo.isenabled = ложь: // здесь я получаю пустой ссылкой исключение

Else Secondcombo.isenabled = правда:

В page_loaded случае я ве,

Secondcombo.isenabled = ложь // так что Secondcom bo по умолчанию будет отключен.

Может ли кто-нибудь помочь мне, чтобы это сделать.

ответ

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

Великий. Благодарю. Это сработало!! Я абсолютно не знаком с wpf. Это действительно сократило мое время поиска. – sam

Смежные вопросы