標準のMDIアプリケーションのウィンドウのように動作する特殊なノードを持つカスタムキャンバスがあります。望ましい動作は、「ウィンドウ」の子コントロールのいずれかにフォーカスがある場合、その「ウィンドウ」がアクティブであると言われることです。
これで、IsFocusedプロパティはカスケードされていないように見えます。つまり、子コントロールにフォーカスがある場合、そのコンテナーも「フォーカス」に設定されていないため、使用できません。同じ理由で、IsFocusedプロパティをコンテナに設定することはできません。これは、子からIsFocusedプロパティを盗むと思われるためです。
私の唯一の考えは、HasChildWithFocusなどと呼ばれる新しいDPを作成し、コードビハインドでバブルイベントをリッスンしてそのフラグを設定することです。それが最善の方法かどうかはわかりません。(これは、添付プロパティ/添付動作の組み合わせとして実装する場合があります。)
しかしもちろん、私たちが単にコントロールに尋ねることができれば、はるかに良いでしょう「ねえ...あなたまたはあなたの子供たちの誰かが焦点を合わせていますか?」
それで、あなたはできますか?