Frage

Ich wollte die Vordergrundfarbe ändern, als ich ein ListBoxItem ausgewählt habe, und ich habe sie mit diesem Stück Code gemacht:

<DataTrigger Binding="{Binding  
RelativeSource={RelativeSource Mode=FindAncestor,AncestorType={x:Type ListBoxItem}},Path=IsSelected}" Value="True">
                            <Setter TargetName="descriptionTB" Property="Foreground" Value="#000"/>
</DataTrigger>

Sie können die Antwort finden hier.

Aber wenn ich möchte, dass ein Designer dies in tut Mischung, Wie würde er es tun, ohne nach Xaml zu bohren?

Vielen Dank

War es hilfreich?

Lösung

Artur,

Der Trigger -Designer in der Expression -Mischung ermöglicht nur das Hinzufügen und Ändern von Ereignissen und Eigenschaftenauslöschern. Ich habe keinen Weg gefunden, Datatrigger mit Mischung hinzuzufügen. Ich bin mir auch nicht sicher, wie man die Bindung von Verwandten mithilfe von Mischung festlegt. Ich habe den XAML immer Code für Test und Mischung für alles andere verwendet.

Andere Tipps

Vielleicht verstehe ich die Frage falsch, aber können Sie nicht einfach eine Stilressource für Beschreibung erstellen und den Designer nur mit dieser Stildefinition und nicht mit der Bindung umgehen lassen?

<DataTrigger Binding="..">
    <Setter TargetName="descriptionTB" Property="Style" Value="{StaticResource DescriptionTextBoxStyle}" />
</DataTrigger>

Im Abschnitt Ressourcen Ihres Steuerelements oder Fensters fügen Sie die Stildefinition hinzu:

<Style TargetType="{x:Type TextBox}" x:Key="DescriptionTextBoxStyle">
    <Setter Property="Foreground" Value="#000" />
</Style>

Wenn Sie den Designer weiter von der Mechanik der Benutzeroberfläche isolieren möchten, können Sie ein Ressourcenwörterbuch in einer separaten XAML -Datei erstellen, in der Sie alle für den Designer bestimmten Stile sammeln können. Anschließend können Sie dieses Ressourcenwörterbuch mit den Hauptressourcen Ihrer Kontrolle oder Anwendung zusammenführen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top