У меня есть сборка, которая генерирует форму (это клиентское программное обеспечение). Я могу создать приложение, получающее и запускающее (Показать) эту форму без каких-либо проблем. Но я не могу запустить эту форму дважды, потому что сборка не дает чистого раствора в капсулах. При каждом втором запуске происходит сбой, потому что несколько вещей не будут успешно инициализированы во второй раз. К сожалению, эта сборка не может быть изменена.
Теперь я поместил это в отдельный домен приложений, чтобы иметь возможность выгрузить эту сборку. Это прекрасно работает, и хост-приложение теперь может запускать эту форму несколько раз.
Теперь проблема такова: у меня есть WPF-приложение, которое не должно отображать форму этой сборки, оно должно содержать ее в одном из своих собственных окон. Форма сборки WinForms уже находится в WindowsFormHost и WPF-окне (с AssemblyAppDomain). Но я не могу назначить WPF-окно как содержимое одного из основных WPF-приложений-окон. Он находится в AssemblyAppDomain AppDomain (и пространство объектов не используется совместно с ним).
Насколько я искал до сих пор, должна быть возможность установить соединение между двумя окнами WPF в разных доменах приложений, потому что так работает System.AddIn. Должен работать с Pipeline , Contract и FrameworkElementAdapter . Я немного застрял, и любые более конкретные советы будут оценены!