Silverlight UI 文化

标签 silverlight datagrid silverlight-4.0

我的 silverlight 应用程序的数据网格中有一个日期列。我需要以 24 小时格式显示时间。为了实现这一点,我修改了 Application_Startup 事件中的 UI 区域性,如下所示:

    CultureInfo cinf = Thread.CurrentThread.CurrentUICulture.Clone() as CultureInfo;
    DateTimeFormatInfo f = cinf.DateTimeFormat.Clone() as DateTimeFormatInfo;
    System.Globalization.DateTimeFormatInfo df = new System.Globalization.DateTimeFormatInfo();
    string format = "MM/dd/yyyy HH:mm:ss";
    f.FullDateTimePattern = format;
    cinf.DateTimeFormat = f;
    Thread.CurrentThread.CurrentUICulture = cinf;

但 UI 始终采用我的操作系统区域设置中指定的数据时间格式。 有什么指点吗?

最佳答案

在绑定(bind)本身上定义所需的格式不是更好吗?像这样的东西:-

<sdk:DataGridTextColumn Header="SomeDate" Binding="{Binding SomeDate, StringFormat={}{0:MM/dd/yyyy HH:mm:ss}}" />

您的代码不起作用的原因是 Xaml 加载的控件使用的 CultureInfo 是由加载 Xaml 的控件的 Language 属性定义的。我认为在这种情况下没有办法提供自定义 CultureInfo

关于Silverlight UI 文化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7849964/

相关文章:

silverlight - 需要旧版本的 silverlight

c# - 跟踪账户余额和信息

c# - Windows Phone 7 和 Windows Phone 8/Windows 8(Windows 应用商店)之间的代码共享

c# - 如何使用 Caliburn.Micro MVVM 将焦点设置到控件

C# Winform 数据网格增删改查

mysql - 搜索数据网格查看确切的关键字

c# - WPF 数据网格中的错误

silverlight - 自定义 UserControl 属性未通过 Silverlight 4 中的 XAML DataBinding 设置

silverlight - XAML到HTML转换器

c# - 无法在 WP7 中使用 webClient.DownloadStringCompleted?