Silverlight StringFormat:删除焦点上的格式(对于版本)

本文关键字:于版本 版本 格式 StringFormat 删除 焦点 Silverlight | 更新日期: 2023-09-27 18:09:36

我有一个文本框双向绑定:

<TextBox Text="{Binding Path=Cost, StringFormat='{0:N'}, Mode=TwoWay}" />

当我输入一个数字(比如1000.1),然后改变焦点,这个数字的格式是我想要的(比如10000.10)。

但是当我再次关注文本框时,文本仍然是格式化的。我希望能够编辑原始的数字输入,而不是格式化的输入(实际上失去逗号)

我该怎么做呢?

编辑:如果解决方案适用于所有文本框,那将比为每个文本框编辑后面的代码要好。

Silverlight StringFormat:删除焦点上的格式(对于版本)

实现这类控件增强的最简单方法是使用行为。只需为文本框编写一个行为,然后给它两个属性:一个用于聚焦字符串格式,另一个用于非聚焦字符串格式。然后挂钩到GotFocus和LostFocus事件,并将格式应用到Text属性。

如果你需要一些代码示例来帮助你开始,请告诉我。