0

いくつかの入力コントロール (テキスト ボックスなど) をホストする ItemsControl があります。ItemsControl の背景をクリックすると、フォーカスが ItemsControl の最初の項目に自動的に変更されます。

これを防ぐ方法はありますか?base を呼び出さずに ItemsControl の OnGotFocus をオーバーライドしようとしましたが、うまくいきませんでした。

ありがとうございます!

ジャック。

4

1 に答える 1

1

わかりました。最初の要素に焦点が当てられる原因を突き止めました。私の場合、カスタムItemsControlをホストしているScrollViewerを使用しています。ItemsControlとその中のコンテナでは、IsTabStopがfalseに設定されています。フォーカスの変更は、OnMouseLeftButtonDownメソッドのScrollViewerによって行われます。

ScrollViewerは封印されているため、コンテナのOnMouseLeftButtonDownとItemsControlをオーバーライドして、e.Handledをtrueに設定する必要がありました。これで私の問題は解決しました。

于 2013-02-20T17:48:22.803 に答える