質問: true; // TextBoxの入力が無効化 } ``` 上記のように KeyDown イベントで `e.Handled=true` をしてルーティングイベントを停止すれば良いと思ったのですが、親である StackPanel で停止させた場合でも TextBox の入力が何故かできなくなってしまいます。 どのように実装したらよいのでしょうか。
回答: テキスト入力.aspx#Anchor_3)によると > > テキスト入力の主要な手段はキーボードですが、音声認識、手書き、およびその他の入力デバイスもテキスト入力を生成できます。 > > キーボード入力の場合、WPF は、最初に適切な KeyDown / KeyUp イベントを送信します。 そのイベントが処理されず、キーがテキストの場合 (方向キーやファンクション キーなどのコントロール キーでない場合)、TextInput イベントが発生します。 > > > ということですから、`KeyDown`イベントで`e.Handled = true;`とした時点でテキスト入力できなくなります。 > > TextBoxの入力を有効にしつつKeyDownイベントを親に伝えない > > > は不可能ですので、何を目的にこのような処理を行おうとしているのか、目的に沿った別アプローチを模索してください。