Я хочу изменить источник изображения с:
<Image Source="{svg:SvgImage image.svg}"/>
Для чего-то, что вместо этого использует привязку к свойству enum:
XAML:
<Resources>
<local:MyConverter x:Key="MyConverter" />
</Resources>
<Image Source="{svg:SvgImage Binding MyEnumProperty, Converter={StaticResource MyConverter}}" />
Код:
public enum MyEnum
{
Value1,
Value2
}
public class MyConverter: IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
var myValue = (MyEnum)(value);
switch (myValue)
{
case MyEnum.Value1:
return "image1.svg";
case MyEnum.Value2:
return "image2.svg";
default:
throw new NotImplementedException();
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Это не работает, и я подозреваю, что это как-то связано с объединением svg:SvgImage
и Binding MyEnumProperty
в одном выражении.
Я получаю следующие ошибки:
The member "Converter" is not recognized or is not accessible.
И
The property 'Converter' was not found in type 'SvgImageExtension'.
Вопрос:
Как правильно это сделать?