如何将MahApps DateTimePicker设置为24小时制显示?
将MahApps DateTimePicker设置为24小时制
要把MahApps.Metro的DateTimePicker从默认的12小时制改成24小时制,针对你现有的代码,有两种简单可靠的实现方式:
方法1:自定义时间格式(推荐,不受系统设置影响)
直接把SelectedTimeFormat设为Custom,再通过TimeStringFormat指定24小时制的格式字符串——比如"HH:mm"(需要显示秒的话可以用"HH:mm:ss")。修改后的代码如下:
<controls:DateTimePicker SelectedDate="{Binding SelectedDateTime, RelativeSource={RelativeSource AncestorType=UserControl}}" SelectedDateFormat="Short" SelectedTimeFormat="Custom" TimeStringFormat="HH:mm"/>
方法2:通过区域文化适配(全局统一场景)
如果希望整个应用或控件遵循24小时制的区域规则,可以给控件设置对应区域的Language属性(比如en-GB、de-DE这类默认使用24小时制的文化),此时保留SelectedTimeFormat="Short"也会自动显示24小时制:
<controls:DateTimePicker SelectedDate="{Binding SelectedDateTime, RelativeSource={RelativeSource AncestorType=UserControl}}" SelectedDateFormat="Short" SelectedTimeFormat="Short" Language="en-GB"/>
简单说明:默认的SelectedTimeFormat="Short"会跟随系统区域设置,系统是12小时制就显示12小时;用自定义格式的话可以强制固定为24小时,不受系统设置干扰,这也是更灵活的方案。
内容的提问来源于stack exchange,提问作者Mahbubur Rahman Manik
相关产品推荐
相关产品推荐

