Regardez la ligne "CETTE LIGNE ####" dans l'exemple suivant.Priorité de Setter remplaçant dans WPF?
<ListBox Grid.Row="0" x:Name="listBoxServers">
<ListBoxItem HorizontalContentAlignment="Stretch">
<StackPanel>
<TextBlock><Run Text="My computer"/></TextBlock>
<TextBlock Foreground="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}">
<TextBlock.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding IsSelected, RelativeSource={RelativeSource AncestorType={x:Type ListBoxItem}}}" Value="True">
<Setter Property="TextBlock.Foreground" Value="White" /> <!-- THIS LINE #### How can I get this work? -->
<Setter Property="TextBlock.Background" Value="Blue" /> <!-- This line here for debugging purposes (to show that these really are called) -->
</DataTrigger>
</Style.Triggers>
</Style>
</TextBlock.Style>
<Run Text="localhost"/>
</TextBlock>
</StackPanel>
</ListBoxItem>
</ListBox>
Comment puis-je obtenir le déclencheur suivant pour remplacer la valeur?
(BTW, par exemple est simplement comprimé ci-dessus. (En application réelle du Style est dans sa propre ressource.))
Oh, bien sûr, une grande solution de contournement ... Vous vous demandez même s'il y a une priorité absolue? (Non dans ce cas mais quelques autres cas de coin ...) – Ciantic
Je ne suis pas sûr qu'il y ait un moyen de lier facilement et de surcharger, sans faire quelque chose comme ma solution ... Je pense que vous pouvez soit lier, et changer la propriété liée, ou changer en utilisant des déclencheurs de données comme ci-dessus ... –
AFAIK le 'Setter' de la deuxième' DataTrigger' peut être spécifié directement dans 'Style'. Cela servirait de valeur par défaut et le déclencheur l'écrasera. – Palec