XAML绑定到转换器

我想做的是相对简单。 我只是试图将椭圆上的TranslateTransform的Y元素绑定到椭圆的高度的1/2:

            

我也有以下转换器:

 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; } } 

我在实际使用转换器的XAML线上收到错误。 错误是

‘set property’System.Windows.Data.Binding.Converter’抛出exception。’ 行号’22’和行位置’8’。

任何人都可以了解如何做到这一点? 编辑:是的,我已将转换器添加为资源。

您的代码有两个问题

1)需要使用StaticResource声明访问您的转换器

  

2)默认情况下,您的converter参数是一个字符串,因此您需要将其转换为double

 public object Convert(object value, Type targetType, object parameter, CultureInfo culture) { double.TryParse((parameter as string).Replace(',', '.'), NumberStyles.Any, CultureInfo.InvariantCulture, out double param); return param * (double)value; } 

您需要将转换器添加到资源

编辑
您还需要添加命名空间

  xmlns:c="clr-namespace:WpfApplication1" 

结束编辑

    

然后,您可以使用资源中的实例

    

参数可能作为String传递。 在Converter中设置断点并查看valueparametervalue 。 您可能需要使用double.Parse而不是强制转换。