То, что я пытаюсь сделать, относительно просто. Я просто пытаюсь связать Y-элемент TranslateTransform на эллипсе до 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'.
Может кто-нибудь пролить свет на то, как это сделать? РЕДАКТИРОВАТЬ: Да, конвертер добавлен в качестве ресурса.