Ce que j'essaie de faire est relativement simple. Je suis juste en train de lier l'élément Y d'un TranslateTransform sur une ellipse à 1/2 la hauteur de l'ellipse:XAML Liaison à un convertisseur
<Ellipse Name="EllipseOnlyLFA" Height="200" Fill="Yellow" HorizontalAlignment="Left" VerticalAlignment="Bottom" ClipToBounds="True">
<Ellipse.Width>
<Binding ElementName="EllipseOnlyLFA" Path="Height"/>
</Ellipse.Width>
<Ellipse.RenderTransform>
<TranslateTransform>
<TranslateTransform.Y>
<Binding Converter="MultiplyByFactor" ElementName="EllipseOnlyLFA" Path="Height" ConverterParameter="0.5"/>
</TranslateTransform.Y>
</TranslateTransform>
</Ellipse.RenderTransform>
</Ellipse>
J'ai aussi le convertisseur suivant:
public class MultiplyByFactor : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
return ((double)value * (double)parameter);
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
return true;
}
}
Je reçois un erreur sur la ligne XAML où j'utilise réellement le convertisseur. L'erreur est
'proprieté 'System.Windows.Data.Binding.Converter' a lancé une exception.' Numéro de ligne '22' et position de ligne '8'.
Quelqu'un peut-il nous éclairer sur la façon de procéder? EDIT: Oui, j'ai ajouté le convertisseur en tant que ressource.
@Albin - il devrait être Converter = {} StaticResource myMultiplyByFactor –
Je ne l'ai comme une ressource. –
Je ne pense pas que le downvote soit nécessaire, puisque l'idée ici est juste. –