1

ElementHostを使用して、WinFormsアプリでWPFカスタムコントロールをホストしています。コントロールには太い境界線があり、コントロールにフォーカスがあるときに表示されます。境界線はコントロールの「外側」にあります。つまり、負のマージンがあります。

問題は、フォーカスの境界線が表示されないことです。コントロールを含むパディング付きの境界線をElementHostに追加すると、それが表示されます。ただし、ElementHost内のコントロールをそのままにしたいので、スタブを使用する前に作成されたレイアウトを壊すことはありません。何か案が?

ありがとう。

4

1 に答える 1

3

ElementHost には、内部のすべての WPF 要素をホストする独自のウィンドウ ハンドルがあります。これは別の WinForms コントロールです。

一般的に言えば、ウィンドウ ハンドルはその境界四角形の外側に描画することはできません (この場合、親の WinForms コントロールに対する ElementHost の境界四角形になります)。

いいえ、WPF 要素で負のマージンを使用して、ElementHost の外側に描画することはできません。代わりに WinForms で境界線を描画するか、ElementHost が大きくなるようにレイアウトを変更する必要があります。

于 2011-04-26T03:23:46.437 に答える