2010-06-23 17 views

Respuesta

30

Olvidó la propiedad Background. El pincel debería ser un ImageBrush cuyo ImageSource podría establecerse en su ruta de imagen.

<Grid> 
    <Grid.Background> 
     <ImageBrush ImageSource="/path/to/image.png" Stretch="UniformToFill"/> 
    </Grid.Background> 

    <...> 
</Grid> 
+0

u puede decirme la sintaxis exacta para este – Shashank

+0

@SHASHANK: La sintaxis sería algo como esto: '' – Amsakanna

19

tengo mis imágenes en una biblioteca de clases separado ("MyClassLibrary") y que se colocan en la carpeta "imágenes". En el ejemplo, utilicé "myImage.jpg" como imagen de fondo.

ImageBrush myBrush = new ImageBrush(); 
    Image image = new Image(); 
    image.Source = new BitmapImage(
     new Uri(
     "pack://application:,,,/MyClassLibrary;component/Images/myImage.jpg")); 
    myBrush.ImageSource = image.Source; 
    Grid grid = new Grid(); 
    grid.Background = myBrush;   
+0

No tiene sentido la creación de ese 'Image' ya que No lo estoy usando para nada. Puede simplemente configurar 'ImageSource' en' ImageBrush' directamente. – devios1

62

Todo esto puede ser fácilmente acheived en el xaml añadiendo el siguiente código en la red

<Grid> 
    <Grid.Background> 
     <ImageBrush ImageSource="/MyProject;component/Images/bg.png"/>  
    </Grid.Background> 
</Grid> 

izquierda para que hagas, es la adición de una carpeta a la solución llamada 'Imágenes' y agregar un archivo existente a su nueva carpeta 'Imágenes', en este caso llamado 'bg.png'

0

Para evitar el problema de ruta, simplemente intente esto, solo mantenga la imagen de fondo en la carpeta de imágenes y agregue este código

<Grid> 
    <Grid.Background> 
    <ImageBrush Stretch="Fill" ImageSource="..\Images\background.jpg" 
       AlignmentY="Top" AlignmentX="Center"/> 
    </Grid.Background> 
</Grid> 
Cuestiones relacionadas