私は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";
}
}
私がapp.xamlファイルにRequiredFieldConverterリソースを追加していると私はそれを試してみたいと:私は「hello」を入力したときにすることを期待していた
<TextBox Name="textBox2" Width="120" />
<TextBox Text="{Binding ElementName=textBox2, Path=Text, Converter=RequiredFieldConverter}" Name="textBox3" Width="120" />
textbox2ではtextbox3に "hello *"と表示されますが、動作しません。実際、私は、実行時に次の例外を取得:また
{「 『System.Windows.Data.IValueConverter』を入力するタイプ 『可能System.String』のオブジェクトをキャストすることができません」}
私は私が行うときに、それが動作するため、値変換機能が動作していることを知っている:
Content="{Binding Source={StaticResource Cliente}, Converter={StaticResource RequiredFieldConverter}}"