2013-03-31 94 views
-1

您好我想通過鍵盤的sendind鍵在文本框中鍵入文本。WPF/C#鍵盤事件輸入sendkey

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

但是,這給了我一個錯誤。我做錯了什麼?

+2

它給出了什麼錯誤?它通常會說有什麼問題 – Axarydax

+0

InvalidOperationException被用戶代碼取消。 – Finchsize

+0

和異常的錯誤信息是什麼? – Axarydax

回答

2

我認爲問題在於您使用的是Windows Forms技術的「SendKeys」與WPF組件(不是Windows窗體技術)進行交互。您需要將事件發送到TextBox,如下所示:

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