Я пытаюсь научиться использовать IValueConverter. У меня есть следующий конвертер:Невозможно сделать работу преобразователя
[ValueConversion(typeof(string), typeof(string))]
public class RequiredFieldConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
return "";
return value.ToString() + "*";
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null)
return "";
var str = value.ToString();
return str+"Convert Back testing";
}
}
Я добавил RequiredFieldConverter ресурс в моем файле app.xaml, и я хочу попробовать, как:
<TextBox Name="textBox2" Width="120" />
<TextBox Text="{Binding ElementName=textBox2, Path=Text, Converter=RequiredFieldConverter}" Name="textBox3" Width="120" />
Я надеялся, что, когда я типа «привет» в textbox2 он показывает «hello *» в текстовом поле3, но он не работает. На самом деле я получаю следующее исключение во время выполнения:
{ «Невозможно привести объект типа„System.String“к типу„System.Windows.Data.IValueConverter“»}
также Я знаю, что функция преобразователя значения работает, потому что это работает, когда я делаю:
Content="{Binding Source={StaticResource Cliente}, Converter={StaticResource RequiredFieldConverter}}"