c# wp8 timepicker deactivation default eventhandler 收藏

c# wp8 timepicker deactivation default eventhandler

我想在我的应用程序中添加时间选择器,当长按它时可以设置当前时间。设置时间工作正常(保持事件),但它也会打开输入时间的屏幕(就像我仅单击时间选择器时一样)。是否有可能改变这种行为?单击时,我想打开一个屏幕来正常设置时间,但长按时不会。谢谢回复。

Microsoft.Phone.Controls.TimePicker time = new TimePicker();
        time.FontSize = 18;
        time.Height = 50;
        time.Hold += time_Hold;

private void time_Hold(object 发件人, System.Windows.Input.GestureEventArgs e) { ((TimePicker)发件人).Value = DateTime.Now;<br> }

我没答对问题,但据我了解,您想延迟发布。使用 DispatcherTimer 并在回调中将代码包装在您想要的位置。

我认为您可以禁用点击事件或覆盖它以在点击时不显示。

似乎没有简单的方法可以做到这一点。

您可以在这里找到TimePicker的源代码: https://phone.codeplex.com/SourceControl/latest#Microsoft.Phone.Controls.Toolkit/DateTimePickers/TimePicker.cs

也许 subclassing 这个 class 并覆盖 DateTimePickerBase::OnApplyTemplate() 可能是一种继续进行的方式...