Bonjour à tous.
Je suis entrain de développer une petite application WPF, pour laquelle je souhaite harmoniser les styles graphiques.
Je souhaite entre autre supprimer les effets de style lorsque la souris passe sur un contrôle.
Dans mon appli, j'ai donc créé un "ResourceDictionary" et j'y ai défini mes styles.
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> <!--Textbox--> <Style x:Key="TextBoxStyle" TargetType="{x:Type TextBox}"> <Setter Property="BorderBrush" Value="Gray"/> <Setter Property="BorderThickness" Value="1"/> <Style.Triggers> <Trigger Property="TextBox.IsFocused" Value="False"> <Setter Property="BorderBrush" Value="Gray"/> <Setter Property="BorderThickness" Value="1"/> </Trigger> <Trigger Property="TextBox.IsMouseOver" Value="True"> <Setter Property="BorderBrush" Value="Gray"/> <Setter Property="BorderThickness" Value="1"/> </Trigger> </Style.Triggers> </Style> <Style x:Key="PasswordBoxStyle" TargetType="{x:Type PasswordBox}"> <Setter Property="BorderBrush" Value="Red"/> <Setter Property="BorderThickness" Value="1"/> <Style.Triggers> <Trigger Property="IsFocused" Value="True"> <Setter Property="BorderBrush" Value="Gray"/> <Setter Property="BorderThickness" Value="1"/> </Trigger> <Trigger Property="IsMouseOver" Value="True"> <Setter Property="BorderBrush" Value="Gray"/> <Setter Property="BorderThickness" Value="1"/> </Trigger> </Style.Triggers> </Style> </ResourceDictionary>
Dans ma fenêtre principale, j'ai le code suivant:
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 <Grid.Resources> <ResourceDictionary Source="Resources/Styles.xaml"/> </Grid.Resources>
puis j'applique le style de la façon suivante:
Code xaml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <TextBox IsEnabled="{Binding IsChecked, ElementName=_lockParameterMenuItem, Converter={StaticResource Negate}}" Style="{StaticResource TextBoxStyle}" Grid.Row="4" Grid.Column="3"> <TextBox.Text> <Binding ElementName="AccountSettings" XPath="Player/@Name" Mode="TwoWay"/> </TextBox.Text> </TextBox>
Le style de base est bien appliqué à ma TextBox, SAUF pour les triggers. Celui-ci n'est pas pris en compte lorsque ma Textbox a le focus ou que la souris passe dessus.
Ai je omis quelque chose?
Merci.
Partager