Pregunta

Tengo una biblioteca de control personalizado con un diccionario resouce que hace referencia a una imagen en la misma biblioteca de controles personalizados.

Entonces tengo una aplicación WPF con una refernce a la biblioteca de control personalizado que contiene un diccionario resouce con un estilo de la utiliza la imagen.

Cuando intento utilizar el estilo de la resouce externa consigo mí es un error diciendo que no puede encontrar la imagen que se hace referencia en el estilo.

Tengo una solución de la muestra hizo que puedo enviar a alguien que lo necesita, pero estoy esperando que hay alguien por ahí que sólo conoce la respuesta ...

Gracias, Aaron

¿Fue útil?

Solución

Ok, esto es lo que he encontrado ... Si usted tiene un diccionario resouce externo con un estilo:

<Style x:Key="Arrow" TargetType="{x:Type Button}">
<Setter Property="Template">
  <Setter.Value>
    <ControlTemplate TargetType="{x:Type Button}">
      <StackPanel Orientation="Horizontal" Width="Auto" Height="20">
        <Image Source="/Images/RightArrow.png" />
      </StackPanel>
    </ControlTemplate>
  </Setter.Value>
</Setter>

y la imagen se encuentra en la carpeta Imágenes del montaje externo mención de la fuente anterior funciona muy bien cuando se encuentra en su entorno de desarrollo, pero una vez que se hace referencia a la asamblea la ruta relativa a la RightArrow.png se pierde la referencia de WPF App. Así que la respuesta es usar lo siguiente para la fuente:

        <Image Source="/Skin;component/Images/RightArrow.png" />

Tenga en cuenta la selección URI en lugar de la ruta relativa. Esto asegura que la aplicación de referencias sabe dónde encontrar realmente la imagen.

Otros consejos

Cuando se agrega la imagen a su proyecto en VS, que tiene una propiedad denominada "Copia a Directorio de salida". Establezca su valor en "Siempre copiar" o "Copiar si es más nuevo". Luego reconstruir. Apuesto a que lo arregla.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top