2

WPF に問題がある場合は、常にフォーカス管理に関係しています。場合によっては、私のアプリが完全にフォーカスを失うため、別のアプリケーションがフォーカスを取得し、アプリがバックグラウンドになります。これは主に、アプリの一部のウィンドウが閉じられる場合に発生します。これは WPF の既知の問題ですか。他の誰かが同様の問題を抱えていますか?

私はすでにこれについて別のスレッドを開きましたが、誰も助けてくれませんでした。したがって、これは短いバージョンです。

アップデート

別のスレッドで説明した動作を防ぐのに役立つ簡単なハックを見つけたようです。同じ問題を抱えている場合は、それが役立つかどうか試してください。説明があれば、報奨金が用意されています...

私はこの投稿を数日間開いたままにします。誰かが WPF に焦点を当てた問題に対して良い一般的な意見を持っているかもしれません。おそらく私はその背後にあるロジックを理解していませんが、私が理解するまで、これは本当に IMO が WPF の最悪の部分です (IMO は本当に素晴らしい製品です)。ここ数年、WPF で私が抱えていた問題を誰かに話さなければならないとしたら、Focusmgmt、Focusmgmt、そしてもう一度 Focusmgmt です。

4

2 に答える 2

2

アプリ全体のフォーカスを失うには、表示する前にすべてのウィンドウでOwnerプロパティを設定してください。

アプリ内でフォーカスを失う場合、通常、これは、思いもよらなかったコントロールが取得されているが何も表示されていない場合に発生します(たとえば、レイアウトに使用されるランダムなStackPanelまたはグリッド)。Focusable="false"

于 2010-07-13T07:39:12.990 に答える
1

+1 私のアプリケーションでも同様の問題に直面したためです。私はVSのようなアプリケーション(ユーザーは(ツールボックスから)キャンバスにコントロールを追加して構成することができます)に取り組んでおり、削除などのさまざまなコマンドが実行された後、不思議なことにフォーカスが失われます。Canvas.Focus()フォーカスをリセットするには明示的に使用する必要があり、それもそうではありません時々動作しません。

于 2010-07-13T06:53:38.997 に答える