2

WPF ユーザーコントロールで Datagridview をホストしようとしています。datagridview がコンストラクターの winformshost に追加され、Enter イベントと Leave イベントが接続されます。Enter イベントは、グリッドが最初にフォーカスを取得したときに発生しますが、その後は発生せず、leave イベントは発生しません。

何か案は?ありがとう

4

1 に答える 1

1

MSDNは次のように述べています。

次のフォーカス変更が発生した場合、Enter イベントと Leave イベントは発生しません。

  • WindowsFormsHost コントロールの内側から外側へ。

  • WindowsFormsHost コントロールの外側から内側へ。

  • WindowsFormsHost コントロールの外側。

  • WindowsFormsHost コントロールでホストされている Windows フォーム コントロールから、同じ WindowsFormsHost 内でホストされている ElementHost コントロールへ。

したがって、leave イベントと enter イベントを発生させたい場合は、同じ WindowsFormsHost 内の別のコントロールに移動する必要があります。これは、datagridview と別のコントロールを含むユーザーコントロールを作成することによってのみ可能になります。

しかし、ハックのように感じます。可能であれば、サポートされていないという事実を受け入れてください。

于 2011-10-19T15:41:10.460 に答える