Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 时间选择器只绑定时间_C#_Wpf - Fatal编程技术网

C# 时间选择器只绑定时间

C# 时间选择器只绑定时间,c#,wpf,C#,Wpf,我已经安装了WPF工具包扩展程序,想使用时间选择器。。。只有计时器。我将该值绑定到VM中的字符串属性。时间选择器的值始终包括日期。我怎么只知道时间?我哪里做错了?(是的,我确定我使用的是时间选择器,而不是日期时间选择器) XAML <xctk:TimePicker Margin="106,178,170,256" Format="Custom" F

我已经安装了WPF工具包扩展程序,想使用时间选择器。。。只有计时器。我将该值绑定到VM中的字符串属性。时间选择器的值始终包括日期。我怎么只知道时间?我哪里做错了?(是的,我确定我使用的是时间选择器,而不是日期时间选择器)

XAML

        <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
值。