使用绑定的StringFormat在TextBox中格式化数字输入

时间:2012-04-27 13:56:41

标签: data-binding string-formatting silverlight-5.0

所以,虽然标题听起来像许多其他类似的问题(比如“有类似标题的问题”框中出现的那些),但我觉得这是一个独特的情况。我想要完成的是:我有一个对象,它有2个属性。第一个是十进制值,第二个是存储.Net格式类型的字符串属性(p / g / n / etc。)..

我最终想做的是这样的事情:

<TextBox Text="{Binding Path=decimalproperty, Mode=TwoWay, StringFormat={Binding path=formatproperty}}" />

有没有人做过这样的事情?我想过尝试使用ValueConverter,但是由于你必须绑定到完整的对象才能访问decimalproperty和formatproperty,所​​以转换似乎不会起作用。任何建议或指示都将不胜感激。

2 个答案:

答案 0 :(得分:0)

为什么不使用独特的数据类型?我认为,最好将Object转换为String

Stirng MyResult=(MyCoomonObject.ToString()) ;

答案 1 :(得分:0)

我最终在对象模型上创建了一个视图模型,并在那里处理了格式,同时更改了我的UI以在Silverlight中使用DataGrid。然后,我构建了一个模板化列,并构建了2-3个控件来适当地处理数据。对它的实现方式不满意,但它实现了我想为客户实现的目标。