4

ユーザーインターフェイスがタブコントロールで構成されているアプリケーションがあります。各タブ項目は、IsFocusedプロパティを持つビューモデルにバインドされています。タブアイテムヘッダーがフォーカスを取得または失ったときに正しく設定されます。これは期待どおりに機能します。ただし、タブコントロールのコンテンツがフォーカスを失ったり、フォーカスを取得したりしたときに、IsFocusedプロパティを設定する必要があります。

私のユースケースは、誰かがタブアイテムから移動したときに(ビューモデルのIsFocusedプロパティがfalseに設定される)、タブアイテムがフォーカスを取り戻したときに無効になった場合に、タブアイテムを再ロードしたいというものです。したがって、現時点では、タブアイテムのヘッダーをクリックしてタブアイテムにフォーカスを取得し、タブが無効になっている場合は、タブをリロードできます。

ただし、タブのコンテンツをクリックすると、IsFocusedが設定されないため、コードで、タブが無効になっている場合にタブをリロードするかどうかを判断できません。タブアイテムのコンテンツは、タブコンテンツを構成する他のすべてのコントロールを含むユーザーコントロールであり、ユーザーコントロールのIsFocusedプロパティにバインドしようとしましたが、設定されていないようです。

私はこれを何日も続けており、アイデアが不足しています。どんな提案でもありがたいことに受け取られるでしょう。

よろしくお願いします

モハマド

4

1 に答える 1

4

このコードバディを試してください。

        FocusManager.SetFocusedElement(objectToBeFocused);

フォーカスマネージャーは、WPFフォーカシングに関連する多くの問題を解決するのに役立ちます。

于 2011-11-24T08:07:39.090 に答える