0

ユーザーがテキストを入力してEnterキーを押すと、テキストが大きなテレビ画面に表示されるシンプルなアプリがあります。

質問: e.KeyCharWPF アプリ、KeyUp イベントを取得する方法は? それとも別の方法がありますか?

public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
            this.KeyUp += MainWindow_KeyUp;
        }

        private String Text;

        void MainWindow_KeyUp(object sender, KeyEventArgs e)
        {


            if (e.Key == Key.Enter)
            {
                TextLabel.Content = Text;
                Text = String.Empty;
            }
            else
            {
                Text += e.Key;
            }

        }

「test」と入力した結果は「TEST」です。すべてのシステム キーを手動で処理する必要がありますか? "Test" と入力したい場合 -> "RihgtShiftTEST" という結果が得られます。私が望むのは、文字のバッファを蓄積し、テキストを表示することだけです。

4

1 に答える 1

2

テキスト入力を読み取るには、次のイベントを使用するのが最適です。

http://msdn.microsoft.com/en-us/library/system.windows.uielement.ontextinput.aspx

TextCompositionEventArgs の "Text" メンバーは、既に高レベルのプレーン テキストを提供しており、すべての厄介な制御文字などを除外しています。

于 2012-09-14T14:32:34.723 に答える