Yapmaya çalıştığım nispeten basit.XAML Bir dönüştürücüye bağlama
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;
}
}
Bir alıyorum:
<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>
şunlarla dönüştürücü vardır: Sadece elips yüksekliğini 1/2 bir elips üzerinde TranslateTransform Y elemanı bağlamak çalışıyorum aslında dönüştürücüyü kullandığım XAML satırındaki hata. Hata
'Set mülkiyet 'System.Windows.Data.Binding.Converter olan' durum gönderdi.' Hat numarası '22' ve hat konumu '8'.
Bunu nasıl yapacaklarına ışık tutabilir mi? DÜZENLEME: Evet, dönüştürücü bir kaynak olarak ekledim.
@Albin dönüştürmek - Öyle bir kaynak olarak var Dönüştürücü = {StaticResource myMultiplyByFactor} –
olmalıdır. –
İndirgemenin gerekli olduğunu sanmıyorum çünkü buradaki fikir doğru. –