Silverlight日期格式

时间:2009-11-26 10:45:59

标签: silverlight datetime silverlight-3.0 formatting date-format

我在Silverlight应用程序中遇到了一些非常奇怪的日期格式问题。我的当地文化定在英国,但我一直看到美国的日期遍布整个地方。我可以使用以下方法在特定的loactions中轻松地将这些格式硬编码为英国格式:

<UserControl ... Language="en-GB"...>

但我确信你们都同意这是一件可怕的事情。

我已尝试在主应用程序中将 Lanaguage 设置为 en-GB ,这取得了部分成功。我也试过Justin Angels的建议(在这里发布:How to change date format in Silverlight DatePicker control?),再次只取得部分成功。

这里可以看到一个问题的例子:

http://lh3.ggpht.com/%5FL9TmtwXFtew/Sw5aVZJfG1I/AAAAAAAAGkI/6jYnsB91HjI/image%5Fthumb%5B1%5D.png http://lh3.ggpht.com/%5FL9TmtwXFtew/Sw5aVZJfG1I/AAAAAAAAGkI/6jYnsB91HjI/image%5Fthumb%5B1%5D.png

父页面上的数据网格显示英国格式,而ChildWindow中的信息显示美国格式... grrrr

任何人都有一个明确的解决方案,可以在整个应用程序中解决这个问题吗?

谢谢, 标记

4 个答案:

答案 0 :(得分:1)

您可以根据视觉元素的数据绑定语言属性。看看我的问题:

How to switch UI Culture of data binding on the fly in Silverlight

答案 1 :(得分:0)

你能不能使用datepicker的SelectedDateFormat属性?如果您想要这样做一次,您是否可以创建自己的用户控件,该控件源自具有此预设值的原始控件,然后在整个应用程序中使用派生控件?

善,

答案 2 :(得分:0)

在黑暗中拍摄,但是更改浏览器语言偏好会有所作为吗?即在IE工具中 - &gt; Internet选项 - &gt;语言。

HTH

标记

答案 3 :(得分:0)

您可以在应用程序启动事件中设置整个应用程序的日期格式,如下所示。这将覆盖用户计算机上的任何区域设置

        Thread.CurrentThread.CurrentCulture = (CultureInfo)Thread.CurrentThread.CurrentCulture.Clone();
        Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern = dd/MM/yyyy";