因此我在XAML视图文件中声明了一个ifstream
:
TimePicker
哪个绑定到了我的视图模型类中的<xctk:TimePicker Grid.Column="5" Value="{Binding TimeFrame}" TimeInterval="00:30:0" Format="Custom" FormatString="HH:mm" Margin="3 3 3 0" MinWidth="100"/>
方法:
TimeFrame
目前,将private DateTime _timeFrame;
public DateTime TimeFrame
{
get { return _timeFrame; }
set
{
if (value != _timeFrame)
{
_timeFrame = value;
OnPropertyChanged("TimeFrame");
}
}
}
设置为TimeInterval
仅在下拉列表中显示那些间隔。
有没有办法使上下旋转器也仅增加/减少30分钟?是否可以用00:30:0
注册按钮按下?
答案 0 :(得分:3)
您应该能够通过对TimePicker
进行子类化并在每分钟的增加或减少时将Step
属性设置为30
来实现:
public class CustomTimePicker : Xceed.Wpf.Toolkit.TimePicker
{
protected override void OnIncrement()
{
SetStep();
base.OnIncrement();
}
protected override void OnDecrement()
{
SetStep();
base.OnDecrement();
}
private void SetStep()
{
Step = CurrentDateTimePart == Xceed.Wpf.Toolkit.DateTimePart.Minute ? 30 : 1;
}
}
用法:
<local:CustomTimePicker Grid.Column="5" Value="{Binding TimeFrame}"
TimeInterval="00:30:0" Format="Custom"
FormatString="HH:mm"
Margin="3 3 3 0" MinWidth="100" />