none
Cambiar de imagen a un control image?? RRS feed

  • Pregunta

  • Amigos como estan, queria pedirles su ayuda, tengo una ventana en wpf, a la cual le agrego un control image, dentro de mi proyecto tengo una carpeta que se llama imagenes, y dentro del Resources.resx, tengo agregado una imagen que se llama nuevo.png,
    ahora mediante codigo quiero asignar  esa imagen al control para luego poder cambiarlo, en el codigo ponto algo como esto.

    <

     

    Image Height="61" HorizontalAlignment="Right" Margin="0,33,40,0" Name="image1" Stretch="Fill" VerticalAlignment="Top" Width="73" Source="nuevo.png" />



    y me sale este error
    Error 1 El archivo nuevo.png no forma parte del proyecto o su propiedad 'Acción de compilación' no está establecida en 'Resource'. C:\Sistemas\Punto net\Flower\FlowerWPF\pruebas.xaml 7 139 FlowerWPF

    No quiero tener que poner la ruta completa de la imagen, ya que si me toca cambiar de carpeta o computador mi aplicacion ya no encontraria las imagenes, entonces
    Como puedo corregir mi error y como deberia agregar las imagenes en el proyecto para poder usarlas sin tener que referenciarme a la ruta completa.

    Saludos
    jueves, 29 de octubre de 2009 13:28

Respuestas

  • En las propiedades de la imagen, donde dice build action, selecciona resource y recompilá tu proyecto. Debería quedarte la imagen como un recurso.

    Sandro D. Garcia
    Colabora con el foro: Si este mensaje te es de utilidad marcalo como respuesta.
    • Marcado como respuesta Fsigu jueves, 29 de octubre de 2009 22:15
    jueves, 29 de octubre de 2009 19:26

Todas las respuestas

  • Hola Fsigu,

    Para establecer la ruta de la imagen en tu control imagen, debes usar la siguiente convenvion en la propiedad Source:

    Source ="/{AssemblyName};component/Images/MyImage.png"

    Donde Assembly representa en nombre de tu ensamblado, para que quede algo como esto:

    <Image Height ="61" HorizontalAlignment ="Right" Margin ="0,33,40,0" Name ="image1" Stretch ="Fill" VerticalAlignment ="Top" Width ="73" Source ="/FullAssemblyName; component/images/nuevo.png" />


    Saludos
    Gerardo Reyes Ortiz
    MCTS, MCP
    www.gerardo-reyes.blogspot.com
    Si consideras que mi aportación te ha sido útil, porfavor marcala como respuesta
    jueves, 29 de octubre de 2009 14:04
  • En las propiedades de la imagen, donde dice build action, selecciona resource y recompilá tu proyecto. Debería quedarte la imagen como un recurso.

    Sandro D. Garcia
    Colabora con el foro: Si este mensaje te es de utilidad marcalo como respuesta.
    • Marcado como respuesta Fsigu jueves, 29 de octubre de 2009 22:15
    jueves, 29 de octubre de 2009 19:26
  • Gracias amigos por sus respuestas pero no me funciono ninguna,

    Gerardo con asemblyname haces referencia al nombre de mi proyecto??

    Sandro, cambie la propiedad, volvi a generar el proyecto, pero al poner  el soruce en la propiedad como deberia hacerlo

     Source="nuevo.png", o  Source="imagenes/nuevo.png"
    Probe de las dosformas ymesigue saliendo el error
    jueves, 29 de octubre de 2009 21:53
  • Asi es, el assemblyname es el nobre de tu proyecto

    <Image Height ="61" HorizontalAlignment ="Right" Margin ="0,33,40,0" Name ="image1" Stretch ="Fill" VerticalAlignment ="Top" Width ="73" Source ="/FlowerWPF; component/imagenes/nuevo.png" />
    Gerardo Reyes Ortiz
    MCTS, MCP
    www.gerardo-reyes.blogspot.com
    Si consideras que mi aportación te ha sido útil, porfavor marcala como respuesta
    jueves, 29 de octubre de 2009 22:03
  • Gracias amigos, probe la opcion de sandro y ya tanto probar funciono muchas gracias,
    jueves, 29 de octubre de 2009 22:15