wpf TimeSpanUpDown 首先增加秒数

Tal*_*ked 5 c# wpf timespan wpftoolkit

我正在使用扩展 WPF 工具包。

https://wpftoolkit.codeplex.com/wikipage?title=TimeSpanUpDown

当我单击箭头时,默认情况下它会增加 hours 的值。

有没有办法让它首先增加秒数作为默认行为?

Il *_*Vic 2

我将通过以下方式扩展 WPF 工具包 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;
    }

}
Run Code Online (Sandbox Code Playgroud)

这样,如果您单击箭头,则只会增加秒数。