Bonjour,

Pour représenter en xaml une classe définissant la représentation d'un ventilateur, je définis dans un premier ResourceDictionary son ControlTemplate. Ce premier Template référence un Converter, afin d'aller chercher la vraie représentation en fonction de l'état du ventilo dans un Dictionnaire xaml, chaque représentation étant un DrawingBrush ==>
- Fan_01.cs : ma classe et le converter qui load la bonne brush (load du style Green, Red, Gray...)
- Fan_01.xaml : ResourceDictionary définissant un controlTemplate qui appelle le converter
- Fan_01_Dic.xaml : resourceDictionary de DrawingBrush (pour représenter en état normal, en défaut...)

Je veux me rajouter une animation visuelle du ventilateur, du genre d'animer toutes les 02 ou 0.5sec, donc sans aller jusqu'à utiliser un Storyboard (on va éviter de charger le CPU pour chaque frame).

Problème : j'essaie de modifer mon brush (défini dans Fan_Dic.xaml) de manière à utiliser une propriété CurrentAngle dans ma classe, mais je ne parviens pas à accéder à la propriété :
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
                    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<DrawingBrush x:Key="Green" Stretch="Uniform">
..... <!-- les geomery de dessin -->
   <RotateTransform Angle="{Binding Path=CurrentAngle,RelativeSource={RelativeSource TemplatedParent}}" CenterX="50.4" CenterY="30.6" />
....

Et je reçois ça :
System.Windows.Data Error: 2 : Cannot find governing FrameworkElement or FrameworkContentElement for target element. BindingExpression: Path=CurrentAngle; DataItem=null; target element is 'RotateTransform' (HashCode=64498982); target property is 'Angle' (type 'Double')
Si je tente un
Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
<RotateTransform Angle="{Binding Path=CurrentAngle, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type fan:Fan_01}}}" CenterX="50.4" CenterY="30.6" />

Cette fois c'est un
System.Windows.Data Error: 4 : Cannot find source for binding with reference 'RelativeSource FindAncestor, AncestorType='NextBMS.Symboles.Fans.Fan_01', AncestorLevel='1''. BindingExpression: Path=CurrentAngle; DataItem=null; target element is 'RotateTransform' (HashCode=34763336); target property is 'Angle' (type 'Double')
Comment procéder pour bien récupérer la valeur ?

Merci