Set IsEnabled-Eigenschaft des ComboBox-Basierend auf SelectedItem

Will ich aktivieren/deaktivieren, ComboBox, basierend auf, wenn es ein Element ausgewählt, die in einem anderen ComboBox-Steuerelement. Ich war in der Lage, um es arbeiten durch die Einstellung eines triggers auf den Style an, aber das überschreibt meine benutzerdefinierten globalen Stil für die combobox. Gibt es einen anderen Weg, um die gleiche Funktionalität zu erhalten, ohne zu verlieren mein Stil?

<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, ich habe diese Arbeit mit einem Stil und ich bevorzuge, dass für den Konverter denn es ist alles in XAML. Ich brauchte nicht ein setter, um anzugeben, dass die IsEnabled-Eigenschaft der Wert true sein sollte, wenn der trigger ist nicht aktiv. Ich bin dieses posting für die anderen, die in dieser Frage, so dass Sie nicht den Eindruck, dass es nicht getan werden kann mit eine Stil.

InformationsquelleAutor KrisTrip | 2011-02-09

Schreibe einen Kommentar