2010-12-03 11 views
6

Todas las muestras de código que he encontrado hasta ahora hacen referencia a un diccionario de recursos que no está en una subcarpeta de proyecto (el diccionario está en la raíz del proyecto). Tengo el mío en una subcarpeta, y no puedo encontrar la manera de conseguir que WPF lo encuentre. Esto no funciona ...¿Cómo puedo agregar un ResourceDictionary definido en una subcarpeta a App.xaml?

<Application.Resources> 
    <ResourceDictionary Source="/Skins/Black/GlossyButtons.xaml"/> 
</Application.Resources> 

La sintaxis de tilde de ASP.Net tampoco parece funcionar.

¿Es esta la mejor manera de incluir un ResourceDictionary en su aplicación para que WPF pueda encontrar recursos? Mi objetivo en este caso particular es aplicar un estilo definido en GlossyButtons.xaml a todos los botones en mi aplicación.

Respuesta

5

Descubrí el problema: WPF no pudo encontrar un ensamblado al que se haga referencia en GlossyButtons.xaml, pero no mostró el error real (que había un problema con el .xaml) hasta que lo compilé y lo ejecuté varias veces. El error que se muestra (al principio) fue que no se pudo ubicar GlossyButtons.xaml.

Eso fue un poco confuso.

5

Pruebe la sintaxis URI Paquete

http://msdn.microsoft.com/en-us/library/aa970069.aspx

<Application.Resources> 
    <ResourceDictionary Source="pack://application:,,,/Skins/Black/GlossyButtons.xaml"/> 
</Application.Resources> 
+0

he encontrado unas pocas referencias a que la sintaxis en línea, pero yo era capaz de conseguir que funcione con sólo una ruta relativa, al igual que ... < ResourceDictionary Source = "/ Skins/Black/GlossyButtons.xaml" />. Estoy compilando contra .Net 4.0. ¿Quizás la compatibilidad de ruta relativa es una característica nueva? –

Cuestiones relacionadas