2009-05-05 14 views
5

私は今、自分のWPFアプリケーションで地獄に集中するつもりです。フォーカスは要素間を飛び回っており、タブキーが繰り返し押されたときに他の要素に出現するように見えなくなっています。誰もがWPFのフォーカスをデバッグする良い方法がありますか?

ラベルにバインドすることができるプロパティはありますか?その時点でキーボードフォーカスがラッチされていることを単に教えてくれるものがありますか?時には、何かがフォーカスを持っていることを示すアリトレイル(点線)が見えることがありますが、キーボードのフォーカスをオフにすることが周囲に何であるかはわかりません。

答えて

0

デバッガで行うほとんどすべてがフォーカスに影響するため、フォーカスの問題は非常に解析しにくい場合があります。

  • あなたに様々な コントロールに行くイベントが表示されますのVisual Studioに付属しているスパイ++のコピー。これは役に立ちます。
  • フォーカスとロスオブフォーカスのイベントを別の場所(別のウィンドウのリストコントロールなど)に記録できます。また、現在のウィンドウのタイトルをフォーカスのある現在のオブジェクトの名前に設定することもできます。それでは、現在何が重視されているのかを示すことができます。

質問がありますが、なぜフォーカスが飛び跳ねるのですか?フォーカスを明示的に設定していますか?あなたの実装についてのヒント(使用しているコンテナ)が私たちの答えに役立つかもしれません。

+0

これはWPF Toolkit CTPのWPF DataGridです。何らかの理由で、DataGridがバインドされているコレクションから項目を削除すると、フォーカスがグリッド内からグリッド外に移動します。アリの軌跡がグリッド全体に現れます。 – Jippers

1

あなたはおそらく探していることは次のとおりです。

(などSystem.Windows.Input.Keyboard.FocusedElementのFrameworkElement).nameのあなたにバインドすることができるようにあなたはそれのためにセットアップするのDependencyPropertyを持つことになります

それだけど。

Vaccano

+0

どうすればいいですか?私はここでMSDNの例を実行しようとしていますが、多くの運がない。 http://msdn.microsoft.com/en-us/library/system.windows.dependencyobject.aspx – Jippers

0

たぶん、あなたは、コントロールのTabIndexプロパティに適切な値を設定してみてくださいだろうか?これにより、Tabキーを押したときにジャンプする「パス」上にフォーカスが移動します。

0

この記事を読むことを強くお勧めします。フォーカスの問題をデバッグするのに役立つソースコードがいくつか付属していますが、私はこのコードを使用して自分のフォーカスの問題を解決することがよくあります。

http://julmar.com/blog/mark/?p=52

+0

リンクが古くなっています。今私は内容について全く興味があります。 – BenL

関連する問題