Je suis en train d’écrire un CustomControl pour WPF devant être utilisé dans un nouvelle application, et je souhaitai pouvoir m’occuper de toute la partie animation en Xaml, pour cela mon contrôle expose des propriétés pour WPF pour pouvoir les utiliser directement dans le Xaml :
[code]public static readonly DependencyProperty RequestedWidthProperty = DependencyProperty.RegisterAttached(
“RequestedWidth”, typeof(double), typeof(ZoomBrick),
new FrameworkPropertyMetadata(10.0));
public static void SetRequestedWidth(UIElement element, double value)
{ element.SetValue(RequestedWidthProperty, value); }
public static double GetRequestedWidth(UIElement element)
{ return (double)element.GetValue(RequestedWidthProperty); }
public double RequestedWidth
{
get { return (double)GetValue(RequestedWidthProperty); }
set {
SetValue(RequestedWidthProperty, value);
applySizeChange();
}
}
// imaginer la même chose pour RequestedHeight
private void applySizeChange()
{
Storyboard animator = (Storyboard)FindResource(“ctrlResizeAnimation”);
animator.Begin(this);
}[/code]
Ensuite dans mon Xaml je défini mon contrôle et mon animation comme suit :
[code]
<UserControl.Resources>
</UserControl.Resources>
Je place l’animation dans les resources statiques pour le moment, mais l’idée est de le placer dans un style plus tard pour avoir un comportement skinable. Là où ça merde, c’est dans l’attribus ‘To’, le binding ne marche pas j’ai une exception lancé comme suit :
Y a-t-il moyen de formuler un binding qui ferait fonctionner l’animation avec un ‘To’ sur mon RequestedWidth, ou ai-je prit le problème du mauvais côté et j’ai raté la philosophie du truc?
Edit : je ne suis pas arriver à me logguer sur le forum WPF de la MSDN, service temporairement indispo B)
Edit2 : correction titre du thread