Hello
Je voudrais changer le style d'un bouton sur lequel on a cliqué (pas juste pendant le clic, je veux que le style soit conservé après le clic)
J'ai écrit cette méthode dans mon code C#, que j'appelle lors de l'élément Button_Click :
Je voulais savoir s'il était possible de faire la même chose en WPF, dans un trigger. J'ai tenté ça (inspiré de la page http://msdn.microsoft.com/en-us/library/ms748815.aspx) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 private void SetClickedButtonStyle(Button button) { LinearGradientBrush background = new LinearGradientBrush(); background.GradientStops.Add(new GradientStop(Colors.White, 0)); background.GradientStops.Add(new GradientStop(Color.FromRgb(183, 216, 237), 1)); button.Background = background; SolidColorBrush border = new SolidColorBrush(); border.Color = Color.FromRgb(60, 127, 177); button.BorderBrush = border; button.BorderThickness = new Thickness(1); }
Mais bon apparemment c'est pas la bonne façon vu que ça ne change rien lors du clic. Est-ce qu'il faut bien passer par un storyboard pour faire ce genre de choses ?
Code : 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 <Button.Background> <LinearGradientBrush> <GradientStop x:Name="GradientStop1" Color="White" /> <GradientStop x:Name="GradientStop2" Color="White" /> </LinearGradientBrush> </Button.Background> <Button.Triggers> <EventTrigger RoutedEvent="Button.Click"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard> <ColorAnimation Storyboard.TargetName="GradientStop1" Storyboard.TargetProperty="Color" To="White" /> <ColorAnimation Storyboard.TargetName="GradientStop2" Storyboard.TargetProperty="Color"> <ColorAnimation.To> <Color R="183" G="216" B="237" /> </ColorAnimation.To> </ColorAnimation> <ColorAnimation Storyboard.TargetProperty="(Control.BorderBrush).(SolidColorBrush.Color)"> <ColorAnimation.To> <Color R="60" G="127" B="177" /> </ColorAnimation.To> </ColorAnimation> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> </Button.Triggers>
Partager