Próbuję utworzyć TypeConverter, który konwertuje mój niestandardowy typ na ICommand, jeśli wiążę go do polecenia przycisku.WPF nie wywołuje TypeConverter, gdy DependencyProperty jest interfejsem
Niestety pakiet WPF nie wywołuje mojego konwertera.
Przelicznik:
public class CustomConverter : TypeConverter
{
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
{
if (destinationType == typeof(ICommand))
{
return true;
}
return base.CanConvertTo(context, destinationType);
}
public override object ConvertTo(
ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
{
if (destinationType == typeof(ICommand))
{
return new DelegateCommand<object>(x => { });
}
return base.ConvertTo(context, culture, value, destinationType);
}
}
Xaml:
<Button Content="Execute" Command="{Binding CustomObject}" />
Converter zostanie wywołany, jeśli będę wiązać się z treścią jak:
<Button Content="{Binding CustomObject}" />
Wszelkie pomysły jak mogę uzyskać TypeConverter pracować ?
Bardzo interesująca. Potwierdziłem, że problemem jest typ interfejsu będący interfejsem. Kod testowy: http://pastebin.com/EsMguMx5 - konwerter nigdy nie jest wywoływany, ale po prostu zmienia "IDestinationThing" na "DestinationThing" w definicji właściwości zależności i zacznie działać. – nmclean