我已经安装了WPF Toolkit Extender并希望使用TimePicker ...而且只使用TimePicker。我将Value绑定到VM中的String属性。 TimePicker的值始终包含日期。我怎么才能得到时间?我哪里错了? (是的,我确定我使用的是TimePicker而不是DateTimePicker)。
XAML
<xctk:TimePicker
Margin="106,178,170,256"
Format="Custom"
FormatString="hh:mm tt"
TimeInterval="00:15"
Value="{Binding Time, Mode=TwoWay}"
/>
视图模型
private String _time;
public String Time
{
get { return _time; }
set { SetProperty(ref _time, value, () => Time); }
}
调试时的值
“1/19/2018 12:00:31 AM”
答案 0 :(得分:2)
Xceed TimePicker的Value
属性为Nullable<DateTime>
,其中包含整个日期和时间值。
我建议做的是绑定到Nullable<DateTime>
(DateTime?
)的属性,因为这是你实际使用的。如果需要字符串表示形式,则可以根据Time
属性获得计算属性。
public string TimeText => String.Format("", Time);
您还必须在附加属性上提升属性更改事件(如有必要)。真的很难说,因为我不确定你需要一个时间的字符串表示,而不是使用实际的DateTime对象。最后一个注意事项是,您可以使用返回TimeOfDay
对象的TimeSpan
属性来提取DateTime的时间部分。