Silverlight StringFormat:删除焦点格式(用于编辑)

时间:2011-09-26 14:50:19

标签: c# silverlight

我有一个文本框twoway bound:

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

当我输入金额(如1000.1),然后更改焦点时,数字的格式就像我想要的那样(即1,000.10)。

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

我怎样才能做到这一点?

编辑:如果解决方案适用于所有文本框,那么编辑每个文本框背后的代码会更好。

1 个答案:

答案 0 :(得分:2)

完成此类控件增强功能的最简单方法是使用行为。只需对文本框的行为进行编码,然后为其提供两个属性:一个用于聚焦字符串格式,另一个用于非聚焦字符串格式。然后挂钩到GotFocus和LostFocus事件,并将格式应用于Text属性。

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

相关问题