gpt4 book ai didi

c# - 允许微调器按时间间隔递增/递减 TimePicker WPF

转载 作者:行者123 更新时间:2023-11-30 21:29:32 32 4
gpt4 key购买 nike

所以我在我的 XAML View 文件中声明了一个 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"/>

绑定(bind)到我的 View 模型类中的 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" />

关于c# - 允许微调器按时间间隔递增/递减 TimePicker WPF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55290902/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com