所以我在我的XAML视图文件中声明了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
设置为00:30:0
仅显示下拉列表中的那些间隔。
有没有办法让上/下旋转器只增加/减少30分钟?有没有办法用TimePicker
注册按钮?
您应该能够通过继承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" />