我确定我在这里遗漏了一些非常容易的东西。几乎所有对 C#/WPF 的 Timepicker 的互联网搜索都指向此网页:http://jobijoy.blogspot.com/2007/10/time-picker-user-control.html,因此我认为它可以正常工作。但是,当我将其复制/粘贴到用户控件中并运行它时,控件会按原样显示,但是当我单击数字并按向上或向下键时,什么也没有发生。即使在调试模式下,KeyDown 事件的 switch case 上有一个断点,也不会发生任何事情。它没有注册 KeyDown 事件。它应该专注于包含 TextBlock 的网格,所以我尝试将 KeyDown 更改为 TextBlock,但无济于事。我似乎无法让它工作!:( 我正在使用 Visual Studio 2008。
问问题
1753 次
3 回答
1
WPF Toolkit中包含一个官方的 Microsoft DateTimePicker 控件。这将成为 .NET 4.0 中框架的一部分
于 2010-01-29T14:29:53.990 回答
0
我认为你的控制没有得到集中,出于某种原因。我也试过了,这个事件也不会为我触发。这篇文章可能会提供一些见解。但是,在 Loaded 事件中手动将焦点设置到用户控件对我不起作用。
唯一对我有用的是做以下所有事情:
- 将 TextBlock 更改为 TextBox 并将事件移动到那里(使用 TextBox 的焦点非常明显)
- 将事件中的演员更改为 FrameworkElement(这是 Name 属性的来源)而不是 Grid
- 将大小写更改为文本框的名称(而不是网格的名称)
- 将事件更改为 PreviewKeyDown(以获取要注册的光标键)
当然,这只是让事件触发并正确注册,值似乎没有显示(甚至在我更改代码之前),但它处理了事件未触发的特定问题。
于 2010-01-28T16:22:07.693 回答
0
silverlight 4 中有一个 DatePicker 和一个 TimePicker
如果您愿意,您可以使用这些创建自己的控件,或者简单地使用每个分开的控件。
于 2011-02-23T14:20:44.587 回答