0

WPF で ActiveX コントロールをビジュアル ツリーの別の場所に移動することは可能ですか? 別のウィジェットの子になるように動的に移動したいコントロールがあります。

これが不可能な場合、コントロールのコピーを作成して別の場所に配置する方法はありますか? これに対する私の以前の試みはまったく機能しませんでした。

4

1 に答える 1

1

これは類推です。これは素晴らしいものではありませんが、うまくいけば、要点を理解できるようになります。

LEGO を使用してシーンを構築したと想像してください。また、画像が描かれた平らなアルミニウム片があり、これを LEGO レイヤーの 1 つの下に挿入して、シーンの一部にしたいと考えています。アルミにはペグや穴がないので、これはできません。一番下の層にはくっつかないし、上のレゴもくっつきません。

現実の世界では、接着剤などを使用して機能させることができるため、ここでは類推が崩れます。

WPF は、各コントロール (上記の LEGO) をレンダリングする単一の DirectX サーフェスをホストする単一のウィンドウ オブジェクトを提供します。ActiveX コントロール (または Winforms コントロール) には、それぞれ別個のシステム ウィンドウ オブジェクト (アルミニウム プレート) が必要です。DirectX サーフェスにレンダリングされた要素の間にシステム ウィンドウを配置することはできません。

この 2 つのテクノロジは混在しません (または、少なくとも混在しません)。この事実を受け入れて、その制限に合わせて調整するか、テクノロジーを変更する必要があります。Winforms (すべてのコントロールがシステム ウィンドウ) を使用してアプリケーションをビルドするか、使用しているこの ActiveX コントロールと同じ機能を提供する WPF コントロールを作成/検索します。

于 2012-07-31T17:08:50.310 に答える