WPF / C#键盘事件输入sendkey

时间:2013-03-31 08:28:16

标签: c# wpf keyboard sendkeys

您好我想通过键盘发送键在文本框中输入文字。

的Xaml:

<Button Name="Start" Margin="20" Grid.Column="0" Grid.Row="0" VerticalAlignment="Top" Click="Start_Click">Start</Button>
<TextBox Name="test" Grid.Column="0" Grid.Row="2"></TextBox>

C#:

private async void Start_Click(object sender, RoutedEventArgs e)
{
 Keyboard.Focus(test);
 await wait(1);
 SendKeys.Send("s"); 
}

但这给了我一个错误。我做错了什么?

1 个答案:

答案 0 :(得分:2)

我认为问题在于你使用的是“SendKeys”,这是Windows Forms技术与WPF组件交互,而不是Windows Forms技术。您需要将事件发送到TextBox,如下所示:

TextCompositionManager.StartComposition(new TextComposition(InputManager.Current, test, "s"));