キャンバスにカスタムウィンドウを持ち、カスタムコントロールを含むWPFアプリケーションがあります(カスタムウィンドウを含むメインキャンバスは再びカスタムコントロールを表示します)。だから、基本的にビジュアルツリーは、(暗黙の国境や他のものなし)次のようになります。深くネストされたビジュアルツリーのドラッグアンドドロップアドバンテージ
- Windows
- Canvas
- WindowMgr
- CustomWindow (maximized with z-index 0, functioning as background)
- ScrollPresenter
- CustomControl1
- CustomWindow
- ScrollPresenter
- CustomControl2
は、今、私たちは(バックグラウンドウィンドウに可動窓から通常は)お互いにそれらのカスタムコントロールから&ドロップをドラッグする必要があります。ドラッグを表示するには&ドロップadornerと飾られた要素とadorner層が必要です。通常、例ではグリッドまたはitemscontrolを使用し、同じ要素からadornerレイヤーを取得します。
ここでは、ScrollPreseneter/CustomWindowsがウィンドウの外にドラッグできないように内容をクリップするため、これを行うことはできません。現時点では、ルートキャンバスを見つけてそれを装飾要素として使用するまで、ビジュアルツリーを歩いていますが、それは一種の汚れています(経験したように、あまり堅牢ではありません)。
このための堅牢なソリューションに関する提案はありますか?