C# 时间选择器只绑定时间
我已经安装了WPF工具包扩展程序,想使用时间选择器。。。只有计时器。我将该值绑定到VM中的字符串属性。时间选择器的值始终包括日期。我怎么只知道时间?我哪里做错了?(是的,我确定我使用的是时间选择器,而不是日期时间选择器) XAMLC# 时间选择器只绑定时间,c#,wpf,C#,Wpf,我已经安装了WPF工具包扩展程序,想使用时间选择器。。。只有计时器。我将该值绑定到VM中的字符串属性。时间选择器的值始终包括日期。我怎么只知道时间?我哪里做错了?(是的,我确定我使用的是时间选择器,而不是日期时间选择器) XAML <xctk:TimePicker Margin="106,178,170,256" Format="Custom" F
<xctk:TimePicker
Margin="106,178,170,256"
Format="Custom"
FormatString="hh:mm tt"
TimeInterval="00:15"
Value="{Binding Time, Mode=TwoWay}"
/>
调试时的值
“2018年1月19日12:00:31 AM”Xceed TimePicker的
值
属性是一个可为空的
,它将包含整个日期和时间值
我建议您绑定到一个可为null的属性(DateTime?
),因为这是您实际使用的属性。如果需要的字符串表示形式,可以基于Time
属性计算属性
public string TimeText => String.Format("", Time);
您还必须在附加属性上引发property changed事件(如有必要)。这很难说,因为我不确定在哪里需要时间的字符串表示,而不是使用实际的DateTime对象。最后一个注意事项是,您可以使用TimeOfDay
属性来提取日期时间的时间部分,该属性返回一个TimeSpan
对象。Xceed TimePicker的Value
属性是一个可为空的
,它将包含整个日期和时间值
我建议您绑定到一个可为null的属性(DateTime?
),因为这是您实际使用的属性。如果需要的字符串表示形式,可以基于Time
属性计算属性
public string TimeText => String.Format("", Time);
您还必须在附加属性上引发property changed事件(如有必要)。这很难说,因为我不确定在哪里需要时间的字符串表示,而不是使用实际的DateTime对象。最后一点是,您可以使用TimeOfDay
属性提取日期时间的时间部分,该属性返回一个TimeSpan
对象。谢谢,m-y。您知道WPF中“仅限时间”选择器的更好解决方案吗?我不知道有任何TimePicker
控件在TimeSpan
上运行,而不是存储DateTime
值。谢谢您,m-y。您知道WPF中“仅限时间”选择器有什么更好的解决方案吗?我不知道有任何TimePicker
控件在TimeSpan
上运行,而不是存储DateTime
值。