如何在 XAML 中设置 TimeSpan 格式

2023-12-08

我正在尝试格式化一个绑定到的文本块TimeSpan财产。如果属性是 type 则有效DateTime但如果它是一个,它就会失败TimeSpan。我可以使用转换器来完成它。但我正在尝试找出是否有其他选择。

示例代码:

public TimeSpan MyTime { get; set; }

public Window2()
{
    InitializeComponent();
    MyTime = DateTime.Now.TimeOfDay;
    DataContext = this;
}

Xaml

<TextBlock Text="{Binding MyTime,StringFormat=HH:mm}"/>

我期望文本块仅显示小时和分钟。但它显示为:

19:10:46.8048860


格式字符串旨在用于DateTime, not a TimeSpan.

您可以更改您的代码以使用DateTime.Now反而。你的 xaml 没问题:

<TextBlock Text="{Binding MyTime,StringFormat=HH:mm}"/>

Update

并从.Net 4格式化一个TimeSpan如下:

<TextBlock Text="{Binding MyTime,StringFormat=hh\\:mm}"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 XAML 中设置 TimeSpan 格式 的相关文章

随机推荐