Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 允许微调器按时间间隔时间选择器WPF递增/递减_C#_Wpf_Timepicker_Xceed Plus Edition - Fatal编程技术网

C# 允许微调器按时间间隔时间选择器WPF递增/递减

C# 允许微调器按时间间隔时间选择器WPF递增/递减,c#,wpf,timepicker,xceed-plus-edition,C#,Wpf,Timepicker,Xceed Plus Edition,因此,我在我的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"/> 目前,将TimeInterval设置为00:30:0仅在下拉列表中显示这些间隔 有没有办法使上/下微调器也只增

因此,我在我的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"/>
目前,将
TimeInterval
设置为
00:30:0
仅在下拉列表中显示这些间隔


有没有办法使上/下微调器也只增加/减少30分钟?是否有一种方法可以使用
TimePicker
注册按钮按下?

您应该能够通过对
TimePicker
进行子类化,并在分钟部分增加或减少时将
步骤
属性设置为
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" />

<local:CustomTimePicker Grid.Column="5" Value="{Binding TimeFrame}" 
                        TimeInterval="00:30:0" Format="Custom"
                        FormatString="HH:mm" 
                        Margin="3 3 3 0" MinWidth="100" />