Silverlight中的默认字符串格式
-
09-10-2019 - |
题
例如,我有两倍
double d = 4.323d;
我想在Silverlight 4应用程序上的文本块中显示它,但是显示应该是:
4.32
而且我无法更改绑定上的StringFormat。
例外是,如果数字是这样:
double d2 = 4d;
然后它应该显示
4
, , 不是 4.00
.
最糟糕的例外是它应该考虑到当前的UI文化,这意味着如果应用程序在美国部署,则应使用一个 .
作为小数十进制者,在欧洲应该使用 ,
(嗯,不是在英国,但是你明白了...)
我可以将DefaultFormat设置为 #.##
如果我能够更改字符串format,但我想通过cultureinfo做到这一点
解决方案
我暂时假设您认为您不能在绑定中使用StringFormat,因为它不使用 CultureInfo
. 。在这种情况下,将这两个使用添加到您的用户控制代码后面: -
using System.Windows.Markup;
using System.Threading;
然后将其添加到其构造函数: -
Language = XmlLanguage.GetLanguage(Thread.CurrentThread.CurrentCulture.Name);
现在与 StringFormat=#.##
将使用适当的小数分离器进行当前培养物。
不隶属于 StackOverflow