Desidero abilitare/disabilitare un ComboBox in base a se è presente un elemento selezionato in un altro ComboBox. Sono riuscito a farlo funzionare impostando un trigger sullo stile, ma questo sostituisce il mio stile globale personalizzato per la casella combinata. C'è un altro modo per ottenere la stessa funzionalità senza perdere il mio stile?Imposta proprietà IsEnabled di ComboBox in base a SelectedItem
<ComboBox Grid.Column="1" Grid.Row="1"
Name="AnalysisComboBox"
MinWidth="200"
VerticalAlignment="Center" HorizontalAlignment="Left"
ItemsSource="{Binding Path=AvailableAnalysis}">
<ComboBox.Style>
<Style TargetType="{x:Type ComboBox}">
<Setter Property="IsEnabled" Value="True" />
<Style.Triggers>
<DataTrigger Binding="{Binding SelectedItem,ElementName=ApplicationComboBox}" Value="{x:Null}">
<Setter Property="IsEnabled" Value="False" />
</DataTrigger>
</Style.Triggers>
</Style>
</ComboBox.Style>
</ComboBox>
FWIW, ho ottenuto questo lavoro con uno stile e preferisco quello al convertitore perché è tutto in XAML. Non avevo bisogno di un setter per specificare che IsEnabled dovrebbe essere true quando il trigger non è attivo. Sto postando questo per gli altri che si imbattono in questa domanda, in modo che non abbiano l'impressione che non può essere fatto con uno stile. – Kohanz