【发布时间】:2018-07-10 17:33:44
【问题描述】:
我想做的事情相对简单。我只是想将椭圆上的 TranslateTransform 的 Y 元素绑定到椭圆高度的 1/2:
<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>
我还有以下转换器:
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 行上遇到错误。错误是
'设置属性 'System.Windows.Data.Binding.Converter' 抛出异常。行号“22” 和行位置'8'。
谁能解释一下如何做到这一点? 编辑:是的,我已将转换器添加为资源。
【问题讨论】:
标签: c# wpf data-binding