0

XAML ファイルにテキスト ボックスのコードがあります。テキスト ボックスは入力として数値を受け取ります。以下はコードの一部です:-

 <TextBox Text="{Binding Path=Revenue, StringFormat=c0, Mode=TwoWay, Converter={StaticResource NullableConverter}, NotifyOnValidationError=True, ValidatesOnDataErrors=True, ValidatesOnExceptions=True}" Grid.Column="3" Grid.Row="2"/>

ただし、5 を入力してタブ アウトすると、入力が 5 $ になりません。ただし、ページにデータを保存してページをロードすると、フォーマットはそのままです。これについて何か考えはありますか??

4

2 に答える 2

0

SL5 を使用している場合、これはバグだと思います。バインディングが更新されたときに StringFormat がトリガーされません。詳細については、 MS connect issueを参照してください。問題の解決に役立つ可能性のある回避策を確認できます。

于 2013-10-20T10:57:52.203 に答える
0

コンバーターを取り外して試してみてください。入手できるはずです。コンバーターに問題があるはずです。

これは、Nullable Converter で試したものです。

    public class NullableConverter : IValueConverter
{
    public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
    {
        if (value == null)
            return 0;
        else
            return value;
    }

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
    {
        return value;
    }
}
于 2012-07-18T22:09:39.767 に答える