我想:如何將System.Windows.Controls.TextBox輸入重定向到流?
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
streamWriter.Write(e.Key.ToString());
}
但我不知道如何將關鍵正確轉換爲字符串。我也試過:
private void textBox1_TextInput(object sender, TextCompositionEventArgs e)
{
streamWriter.Write(e.Text);
}
但該事件不叫。我去的最遠的是:
private string previous = string.Empty;
private void textBox1_TextChanged(object sender, TextChangedEventArgs e)
{
var text = textBox1.Text.Substring(previous.Length);
streamWriter.Write(text);
previous = textBox1.Text;
}
但是這有字符刪除和其他許多情況下的問題。 我該怎麼辦?
在TextBox上,您可以處理PreviewTextInput而不是TextInput,「...可能已經由內部實現處理...」http://msdn.microsoft.com/zh-cn/library/ system.windows.uielement.textinput.aspx – Grokodile