Re ^^!
J'ai un petit bug avec un ContentPresenter que je voudrais rendre animé.
En fait, au survol de la souris, je voudrais que le contenu passe d'une opacité 0.2 à 1. Le soucis, c'est qu'au survol de la souris, actuellement, le contenu passe d'une opacité de 0 à 0.2. En plus de cela, j'ai défini un Border qui prend une opacité définie dans mes Setter, alors qu'il ne devrait pas la prendre (Opacity est fixée en dur dans mon Border...).
Ce qui me donne une opacité de 0.2 sur mon Border... Alors qu'il devrait avoir une opacité de 1...
Voilà mon generic.xaml:
Et dans mon Page.xaml:
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59 <Style TargetType="custom:TestBoxContainer"> <Setter Property="Width" Value="440" /> <Setter Property="Height" Value="300" /> <Setter Property="Background" Value="White" /> <!--Opacity est fixée dans ce Setter--> <Setter Property="Opacity" Value="0.2"></Setter> <Setter Property="BorderBrush" Value="Black"></Setter> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="custom:TestBoxContainer"> <Grid x:Name="RootBoxContainer"> <!--Rectangle Conteneur--> <!--Mon Border a bien une opacité fixée à 1, mais il prend celle du Setter...--> <Border x:Name="BorderBoxContainer" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="2" Opacity="1"> <Rectangle x:Name="RectangleBoxContainer" Fill="{TemplateBinding Background}" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}" Opacity="1"/> </Border> <!--ContentPresenter--> <!-- Et mon ContentPresenter prend une opacité à 0, alors qu'elle devrait être à 0.2--> <ContentPresenter x:Name="ContentBoxContainer" Content="{TemplateBinding Content}" ContentTemplate="{TemplateBinding ContentTemplate}" HorizontalAlignment="Center" VerticalAlignment="Center" Opacity="0.2"/> <!--Groupes d'Etats visuels (communs, checkbox...)--> <vsm:VisualStateManager.VisualStateGroups> <!--Groupe Commun (comme pour les boutons)--> <vsm:VisualStateGroup x:Name="CommonStates"> <vsm:VisualState x:Name="Normal"></vsm:VisualState> <!--Survol de la souris--> <vsm:VisualState x:Name="MouseOver"> <!--On peut définir plusieurs Animations dans un Storyboard, il faut donc définir la target dans le ColorAnimation--> <Storyboard> <DoubleAnimation x:Name="DoubleAnimationToTransparent2" Storyboard.TargetName="ContentBoxContainer" Storyboard.TargetProperty="(UIElement.Opacity)" From="{TemplateBinding Opacity}" To="1" Duration="00:00:00.5" FillBehavior="HoldEnd"> </DoubleAnimation> </Storyboard> </vsm:VisualState> </vsm:VisualStateGroup> </vsm:VisualStateManager.VisualStateGroups> </Grid> </ControlTemplate> </Setter.Value> </Setter> </Style>
Merci de votre aide
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <controls:TestBoxContainer x:Name="TestBoxContainer1"> <controls:TestBoxContainer.Content> <Image x:Name="ImageTest" Source="Images/james.jpg" ></Image> </controls:TestBoxContainer.Content> </controls:TestBoxContainer>
Partager