我是使用 WPF 4.0 中的 TextBox 和数据绑定。使用 StringFormat 将数字格式化为货币形式。XAML 如下所示:
<TextBox Text="{Binding Path=ValueProperty, ValidatesOnDataErrors=True, ValidatesOnExceptions=True, StringFormat={}{0:C}, UpdateSourceTrigger=PropertyChanged}">
</TextBox>
除了一种奇怪的行为之外,一切似乎都正常:例如,当用户在键入1后立即键入12时,文本框中的值变为$1.00,奇怪的是光标被移动到$和1之间。所以当用户只是输入12时,结果变成$21.00。
我该如何修复这个奇怪的行为?