【问题标题】:wpf TimeSpanUpDown increment seconds firstwpf TimeSpanUpDown 首先增加秒数
【发布时间】:2014-11-27 15:01:08
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# wpf wpftoolkit timespan


    【解决方案1】:

    我会以这种方式扩展 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;
        }
    
    }
    

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

    【讨论】:

      【解决方案2】:

      如果您使用将属性CurrentDateTimePart="Second" 添加到 xaml 中的 TimeSpanUpDown 元素,您将获得所需的效果。这只是在第一次加载时设置默认的DateTimePart,键盘控件仍然按预期工作。

      【讨论】:

        猜你喜欢
        • 2019-04-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-01-09
        • 1970-01-01
        相关资源
        最近更新 更多