どのようにz-インデックスwindowsformhostを設定するかは、常にWPF要素の先頭にあるとは限りませんか?WindowsFormsHostは常にWPF要素の一番上です
答えて
MSDN (Layout Considerations for the WindowsFormsHost Element)
によると、Aは、Windowsフォームコントロールでホストさは別のHWNDに描かれているので、それは 常にWPF要素の上に描画されます。
これは、設計上の制限
Windowsで異なるグラフィック技術を使用してTechnology Regions Overview
は、しかし、私は、このためのいくつかのハッキングがあるように思われることがわかっグーグル時に発生する可能性がある問題について説明し、MSDNからのもう一つの良い品です(空域制限として知られている)
一つのハックは、(それが動作するかどうかわからないので、個人的にそれを試したことがない) this link
であります数年後"hack" link 403s – RJFalconer
更新、(2016から09):
私の次の答えは、トップのコメントで述べたように、有効でなくなった、と.NET 4.5の最終版では利用できませんでした、またはその後のリリース。残念ながら、私が含まれているリンクには、現在の.NETの "現在のバージョン"に対応するHwndHostsのzオーダー情報があり、実際にはこの機能が存在すると信じる人もいます。それはしません。回避策はありません。
オリジナルの答え:
年後、物事は、.NET 4.5でビットを変更しました。私が行ったように、この時に多くをつまずいた人のために、ここでのMSDNのWalkthrough: Arranging Windows Forms Controls in WPFからより多くの更新の抜粋です。
デフォルトでは、目に見えるにWindowsFormsHost要素は常に他のWPF要素の上に描画されているが、彼らは、 zオーダーの影響を受けません。 z-orderingを有効にするには、WindowsFormsHostのIsRedirectedプロパティをtrueに設定し、CompositionModeプロパティをFullまたはOutputOnlyに設定します。
.NET 4.5を使用しているときあなたがする必要があるすべては、あなたのWindowsFormsHost要素IsRedirected="True"
とCompositionMode="Full"
またはCompositionMode="OutputOnly"
に次の属性を追加しています。
今日チェックしました。これらのプロパティは、.net 4.5のベータリリースにのみありました。残念ながら、彼らは通常のリリースに向かわなかった。 –
1.3.10 Windows Presentation Foundation(WPF) 1.3.10.1 HwndHost機能が.NET Framework 4.5ベータ版のWPFから削除されました .NET Framework 4.5 Developer Previewには、WPF HwndHostリダイレクト機能が含まれていました。ただし、この機能にはいくつかの既知の問題があり、.NET Framework 4.5 Betaから削除されています。将来のリリースには含まれません。 この問題を解決するには 回避策はありません。 – lukaszk
.NET 4で使用するには?出来ますか? – mrhands
私はちょうど同じ問題に遭遇しました。
潜在的な回避策はあり - Windowsホストウィンドウコントロールと表示したいWPF要素の性質に応じて:
は私が私を可能にするためにWindowsFormsHost
コントロールのVisibility
私のビューモデルのプロパティへのバインドその上に表示したいWPFを表示したいときに、ホスト(およびその上のコントロール)を非表示にします。
私の状況では、私のWindowsFormsHostは2行のグリッドにあります。一番下の行にはStackPanelがあり、その内容に応じて高さが変更されます。私はStackPanelのLayoutUpdatedイベントを処理して、WindowsFormsHostをグリッドのActualHeightからActualHeightを引くことによってサイズ変更します。 ActualHeight not Heightを必ず使用してください。
void ResizeWinhost()
{
mainGrid.UpdateLayout();
detailPanel.UpdateLayout();
winHost.Height = mainGrid.ActualHeight - detailPanel.ActualHeight - 5;
}
- 1. WPFにWindowsFormsHostは
- 2. CSS/JavaScript:要素の一番上のZ-インデックス/一番上のモーダル要素を
- 3. 擬似要素は要素の一番上にあります。
- 4. WPFでコントロールを一番上に作る
- 5. スタックの一番上の要素を一番下にスワップする方法
- 6. 一番上の棚は、複数の要素
- 7. ブートストラップ:要素を一番上に固定する方法
- 8. Css他の要素と一番上に整列しました
- 9. スタックの一番上の要素を複製します。Java
- 10. WindowsFormsHostでのWpfコントロールはMainWindowをオーバーライドします
- 11. divをすべてのウェブページの一番上の要素にする
- 12. 要素がウィンドウの一番上にあるときにクラスを追加する
- 13. 要素の一番上の位置を取得する方法は?
- 14. WPFでは、どのようにWindowsFormsHostにラインを描画できますか?
- 15. テキスト選択の一番上の親要素を見つける方法は?
- 16. 要素は常に上にあります
- 17. 私の要素の一番下に:: beforeセレクタを使うには?
- 18. UserControlが常に上(最上位、XAML/WPF)
- 19. ブートストラップ列の要素を一番下に揃える方法は?
- 20. WPFコントロールWindowsFormsHostトリガー後にフリーズしてPDFを表示する
- 21. XSLTは常に一つだけの要素
- 22. WPF:なぜ複数のWindowsFormsHostでUIが低速になるのですか?
- 23. Tensorflowのmax要素だけではなく、k個のプール要素を一番上に置く最良の方法は何ですか?
- 24. WPFカットコーナー要素
- 25. WPF。 TwoState要素
- 26. noverblasterビデオプレーヤーが常に他の要素の上にある理由
- 27. WPF要素のプロパティバインディング
- 28. WPFのボリュームコントロール要素
- 29. 改ページの上にWPF TableRow要素をまとめて保持
- 30. document.documentElementは常に定義され、常にhtml要素ですか?
単純な回答:できません。 [ここ](http://stackoverflow.com/questions/8006092/controls-dont-show-over-winforms-host)を参照してください。 – Clemens