我正在WPF中制作一个UC(用户控件)。我在UC中有一些文本框。当用户在其中之一上按下“返回键”时,我想离开UC。我想将返回键像主窗口中的Tab键一样对待。我该如何实施?
答案 0 :(得分:0)
我在搜索中发现this post,这是我遇到的问题的答案。
这个想法是拥有一个名为SendKeys *的类,并在控件的按下事件中使用其方法。
public static class SendKeys
{
/// <summary>
/// Sends the specified key.
/// </summary>
/// <param name="key">The key.</param>
public static void Send(Key key)
{
if (Keyboard.PrimaryDevice != null)
{
if (Keyboard.PrimaryDevice.ActiveSource != null)
{
var e1 = new KeyEventArgs(Keyboard.PrimaryDevice, Keyboard.PrimaryDevice.ActiveSource, 0, key) {RoutedEvent = Keyboard.KeyDownEvent};
InputManager.Current.ProcessInput(e1);
}
}
}
}
然后像这样使用它:
private void textBoxesKeyDown(object sender, KeyEventArgs e) {
switch (e.Key)
{
case Key.Return:
SendKeys.Send(Key.Tab);
break;
}
}
*注意::SendKeys是WinForm中的一个类,在WPF中不存在。顺便说一下,您可以使用这些代码来实现。