Интеграция контроля WPF в WinForms без разрешения доступа к другим контролям WPF?
-
16-09-2020 - |
Вопрос
Мне нужен элемент управления DocumentViewer WPF (для файлов XPS) в приложении формы Windows.Это на самом деле простое, но мне не разрешено ссылаться в узлах WPF.Упорядочение моего босса в том, что люди начнут использовать элементы управления WPF, которые несовместимы с некоторыми из наших программ.Я не могу изменить ни одно из этого;Он должен быть XPS и не может принести более одного контроля WPF.Я могу использовать этот контроль, если у меня был способ связать его и только это (никаких других управлений / классов WPF) для нашего программного обеспечения.
Можно ли мне написать какую-то обертку на элементе управления в библиотеке класса WPF, а затем импортировать эту DLL, но DLL не позволяет доступом к другим элементам управления WPF?Для меня есть способ извлекать только что контроль WPF из ассамблеи структуры презентации (вероятно, нет, и это звучит как то, что нарушает EULA)?
Или у кого-нибудь есть другой подход, который они хотели бы предложить?
и нет, не pdf, пожалуйста.
Решение
Просто сделайте классную библиотеку, которая ничего не делает, кроме как открывает (Windows Forms) Usercontrol.Внутри этого USERCONTROL поставьте свой Elementhost с помощью DocumentViewer.Таким образом, вы загружете только USERCONTROL вашего проекта, а «элементы управления WPF» изолированы в отдельном проекте.