Vra

Ek wou die voorgrond kleur verander toe ek 'n listboxItem gekies en ek het dit met behulp van hierdie stukkie kode:

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

Jy kan die antwoord hier .

Maar as ek wil 'n ontwerper om dit te doen in Blend , hoe sou hy dit doen sonder die boor in XAML?

Dankie

Was dit nuttig?

Oplossing

Artur,

Die Triggers ontwerper in Expression Blend kan net optel en wysiging EventTriggers en Property snellers. Ek het nie 'n manier gevind om DataTriggers voeg met Blend. Ek is ook nie seker hoe om RelativeSource Binding met behulp van Blend nie. Ek het nog altyd oorhandig kode die XAML vir toets en gebruik Blend vir alles anders.

Ander wenke

Miskien is ek misverstand die vraag maar kan jy nie net skep 'n styl hulpbron vir descriptionTB en laat die ontwerper net met daardie styl definisie en nie die bindende?

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

In die afdeling hulpbronne van jou beheer of venster die definisie styl voeg jy:

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

As jy wil hê dat die ontwerper van die meganika van die UI verder te isoleer kan jy 'n hulpbron woordeboek in 'n aparte XAML lêer aanskaf waarin jy kan versamel al style bedoel vir die ontwerper skep. Dan kan jy saamsmelt dat hulpbron woordeboek met jou beheer of belangrikste hulpbronne aansoek se.

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top