他のWPFコントロールへのアクセスを許可せずにWinFormsでのWPFコントロールを統合しますか?
-
16-09-2020 - |
質問
WindowsフォームアプリケーションでDocumentViewer WPF制御(XPSファイル用)が必要です。これは実際には簡単ですが、WPFアセンブリにリンクすることはできません。私の上司の推論は、人々が私たちのソフトウェアのいくつかと互換性がないWPFコントロールの使い方を始めることです。これを変更することはできません。XPSでなければならず、複数のWPF制御をもたらすことはできません。このコントロールを使用する方法がある場合は、私たちのソフトウェアにそれをリンクする方法があれば(他のWPFコントロール/クラスはありません)。
WPFクラスライブラリのコントロールにある種のラッパーを作成してから、そのDLLをインポートすることは可能ですが、DLLは他のWPFコントロールへのアクセスを許可しませんか?プレゼンテーションフレームワークアセンブリからのWPFコントロールだけを抽出する方法はありますか(おそらくEULAに違反するもののように聞こえます)?
または誰かが私が提案したいとされている別のアプローチを持っていますか?
といいえ、PDFではありません。
解決
クラスライブラリを作成するだけで、(Windows Forms)UserControlを公開します。このUserControlの内側には、ElementHostをDocumentViewerに入れます。このように、プロジェクトのUserControlのみをロードするだけで、「WPFコントロール」は別のプロジェクトで分離されています。
所属していません StackOverflow