Question

Je voulais changer la couleur de premier plan quand j'ai sélectionné un listboxItem et je l'ai fait en utilisant ce morceau de code:

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

Vous pouvez trouver la réponse ici .

Mais si je souhaite qu'un concepteur fasse cela dans Mélange , comment le ferait-il sans explorer xaml?

Merci

Était-ce utile?

La solution

Artur,

Le concepteur de déclencheurs dans Expression Blend permet uniquement d’ajouter et de modifier des déclencheurs EventTriggers et Property. Je n'ai pas trouvé de moyen d'ajouter DataTriggers avec Blend. Je ne sais pas non plus comment définir la liaison RelativeSource à l'aide de Blend. J'ai toujours remis le code XAML pour le test et utiliser Blend pour tout le reste.

Autres conseils

Peut-être que je comprends mal la question, mais ne pouvez-vous pas simplement créer une ressource de style pour descriptionTB et laisser le concepteur s'occuper uniquement de cette définition de style et non de la liaison?

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

Dans la section des ressources de votre contrôle ou de votre fenêtre, vous ajoutez la définition de style:

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

Si vous souhaitez isoler davantage le concepteur des mécanismes de l'interface utilisateur, vous pouvez créer un dictionnaire de ressources dans un fichier xaml séparé dans lequel vous pouvez collecter tous les styles destinés au concepteur. Vous pouvez ensuite fusionner ce dictionnaire de ressources avec les ressources principales de votre contrôle ou de votre application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top