WPF используется в приложении WinForms, где разместить ресурсы приложения? - PullRequest
17 голосов
/ 04 марта 2011

В настоящее время мы размещаем несколько WPF элементов управления в приложении WinForms .Приложение запускается с использованием метода System.Windows.Forms.Application.Run(...) и WPF элементов управления, размещенных с использованием ElementHost.

В обычном WPF приложении я определил бы System.Windows.Application объект (App.xaml) и вызов запуска по нему.Обычно любые ресурсы прикладного уровня WPF помещаются туда.У нас этого нет.

Как указать ресурсы уровня приложения для элементов управления WPF , но при этом работать как приложение WinForms ?

Ответы [ 2 ]

13 голосов
/ 04 марта 2011

В размещенной среде у вас нет легкого доступа к Приложению, у д-ра WPF есть несколько методов для работы в размещенном сценарии на http://drwpf.com/blog/2007/10/05/managing-application-resources-when-wpf-is-hosted/.

Я лично использую его класс SharedResources в рабочем проекте, VB6 Form, хостинг Winforms UserControl, хостинг ElementHost, хостинг WPF UserControl с широкой темой приложения, для элементов управления WPF.

0 голосов
/ 29 июня 2014

Если вы размещаете элементы управления WPF в приложении WinForms, у вас нет объекта Application, в котором размещаются ресурсы всего приложения. Хитрость заключается в том, чтобы создать такой объект, загрузить глобальные ресурсы и объединить их в ResourceDictionary.

Вот пример этого кода:

http://www.snippetsource.net/Snippet/26/load-application-level-resources-in-winforms-hosted-wpf-controls (ссылка исправлена)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...