c# - español - xaml
WPF utilizado dentro de una aplicación WinForms, ¿dónde colocar los recursos de la aplicación? (2)
En un entorno alojado, no tiene fácil acceso a la Aplicación, el Dr. WPF tiene un par de métodos para trabajar en un escenario alojado en http://drwpf.com/blog/2007/10/05/managing-application-resources-when-wpf-is-hosted/ .
Personalmente, estoy usando su clase SharedResources en un proyecto de trabajo, Formulario VB6 que aloja Winforms UserControl que aloja ElementHost que aloja WPF UserControl con un tema de aplicación amplia, para los controles de WPF.
En la actualidad, alojamos varios controles WPF en una aplicación WinForms . La aplicación se inicia utilizando el método System.Windows.Forms.Application.Run(...)
y los controles WPF alojados utilizando ElementHost
.
En una aplicación WPF normal, definiría un objeto System.Windows.Application
( App.xaml
) y ejecutaría una ejecución en él. Normalmente, cualquier recurso de WPF de nivel de aplicación iría allí. Nosotros no tenemos esto
¿Cómo puedo especificar los recursos de nivel de aplicación para los controles de WPF pero aún así ejecutarme como una aplicación de WinForms ?
Si aloja controles WPF dentro de una aplicación WinForms, no tiene el objeto Application
que aloja los recursos de toda la aplicación. El truco consiste en crear un objeto de este tipo, cargar sus recursos globales y fusionarlos en el ResourceDictionary
.
Aquí hay un ejemplo de este código:
http://www.snippetsource.net/Snippet/26/load-application-level-resources-in-winforms-hosted-wpf-controls (Enlace fijo)