-1

嗨,我想通过键盘上的 sendind 键在文本框中输入文本。

xml:

<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"); 
}

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

4

1 回答 1

3

我认为问题在于您使用的是“SendKeys”,这是 Windows 窗体技术与 WPF 组件进行交互,这不是 Windows 窗体技术。您需要像这样向 TextBox 发送事件:

TextCompositionManager.StartComposition(new TextComposition(InputManager.Current, test, "s"));
于 2013-04-18T12:38:28.847 回答