我正在使用Extended WPF Toolkit。
https://wpftoolkit.codeplex.com/wikipage?title=TimeSpanUpDown
单击箭头时,默认情况下会增加小时值。
有没有办法让它首先将秒数增加为默认行为?
答案 0 :(得分:2)
我会以这种方式扩展WPF Toolkit TimeSpanUpDown控件:
public class TimeSpanUpDown : Xceed.Wpf.Toolkit.TimeSpanUpDown
{
protected override void OnIncrement()
{
if (Value.HasValue)
{
UpdateTimeSpan(1);
}
else
{
Value = DefaultValue ?? TimeSpan.Zero;
}
}
protected override void OnDecrement()
{
if (Value.HasValue)
{
UpdateTimeSpan(-1);
}
else
{
Value = DefaultValue ?? TimeSpan.Zero;
}
}
private void UpdateTimeSpan(int value)
{
TimeSpan timeSpan = (TimeSpan)Value;
timeSpan = timeSpan.Add(new TimeSpan(0, 0, 0, value, 0));
if (IsLowerThan(timeSpan, Minimum))
{
Value = Minimum;
return;
}
if (IsGreaterThan(timeSpan, Maximum))
{
Value = Maximum;
return;
}
Value = timeSpan;
}
}
这样,如果单击箭头,则只增加秒数。
答案 1 :(得分:1)
如果您使用将属性CurrentDateTimePart="Second"
添加到xaml中的TimeSpanUpDown元素,您将获得所需的效果。这只是在第一次加载时设置默认DateTimePart
,键盘控件仍然按预期工作。