にホストされている UserControl がありElementHost
ます。
ユーザーがEnterキーを押すかダブルクリックすると、行の新しいウィンドウが表示され(モーダルなし)、そのウィンドウが閉じられると、ElementHostを含むウィンドウが再びアクティブになります
。DataGrid
問題は、DataGrid がフォーカスを失うことです。
Snoop は、ビジュアル ツリーが次の構造を持つことを示しました。
AdornerDecorator -> AvalonAdapter -> My UserControl.
Snoop は、アクティブ化後に AdornerDecorator にプロパティがあることを示しています
IsFocusable = false
IsFocused = false
IsKeyboardFocused = true
IsKeyboardFocusWithin = true
私にとって絶対的なナンセンスとは何ですか。
ユーザーが Tab キーまたは矢印キーを押すと、最初に有効になった UserControl の要素がフォーカスを受け取ります。
この投稿を読みましたが、満足できません:
フォーカスは、WPF と Windows フォームでは動作が異なります。また、このあたりで修正できなかった粗いエッジがいくつかありました。WindowsFormsHost 内にフォーカスがあり、フォームを最小化/復元するか、モーダル ダイアログを表示すると、WindowsFormsHost 内のフォーカスが失われる可能性があります。
それで?リラックスして幸せになれますか?
そして、非常に残念なのは、他のアプリケーションで問題を再現できないことです.
このような奇妙な行動の理由を説明できる人はいますか? いくつかの回避策が提供される場合があります。