DateTimePicker 设置日历和时间文化

Posted

技术标签:

【中文标题】DateTimePicker 设置日历和时间文化【英文标题】:DateTimePicker set Calendar and Time culture 【发布时间】:2011-01-27 19:36:25 【问题描述】:

是否可以为DateTimePicker 控件设置特定的文化?我想在飞蛾的格式名称和时间格式上使用这种特定的文化。例如,我创建了特定的文化:

CultureInfo.GetCultureInfo("sk-Sk");

感谢您的建议。

【问题讨论】:

【参考方案1】:

您可以尝试添加:

FrameworkElement.LanguageProperty.OverrideMetadata(
                typeof(FrameworkElement),
                new FrameworkPropertyMetadata(
                        XmlLanguage.GetLanguage("sk-Sk")));

FrameworkElement.LanguageProperty.OverrideMetadata(
                typeof(FrameworkElement),
                new FrameworkPropertyMetadata(
                        XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));

到您的应用程序 启动事件处理程序

    public App()
    

        DispatcherUnhandledException += new System.Windows.Threading.DispatcherUnhandledExceptionEventHandler(App_DispatcherUnhandledException);
        Startup += new StartupEventHandler(App_Startup);
    


    protected override void OnStartup(StartupEventArgs e)
    
        FrameworkElement.LanguageProperty.OverrideMetadata(
                typeof(FrameworkElement),
                new FrameworkPropertyMetadata(
                        XmlLanguage.GetLanguage(CultureInfo.CurrentCulture.IetfLanguageTag)));

        base.OnStartup(e);
    

这应该为所有 WPF 控件设置文化信息(不确定您是否真的只想更改 DateTimePicker 的文化)

【讨论】:

我使用 WPF 和 MVVM 设计,我不认为这是合适的方式。 这个问题比较老了,但是如果你想使用 MVVM,你可以将 MainWindow 的 Language 属性绑定到连接的数据上下文。然后你只需要改变 Language 属性。

以上是关于DateTimePicker 设置日历和时间文化的主要内容,如果未能解决你的问题,请参考以下文章

WinAPI:如何强制 DATETIMEPICKER 使用标准日历而不是本地日历设置

winform中的dateTimePicker控件怎么设置它的默认值为空?

datetimepicker的下拉日历如何放大

MVC4 DateTimePicker 找不到图标时间和图标日历

Datetimepicker 日历未在正确位置打开

Datetimepicker 不显示日历