Подтвердить что ты не робот

Установите фоновое изображение в сетке в WPF с помощью С#

У меня проблема: я хочу установить образ моей сетки через код позади.

Кто-нибудь может мне сказать, как это сделать?

4b9b3361

Ответ 1

Вы забыли свойство Background. Кисть должна быть ImageBrush, чей ImageSource может быть установлен на ваш путь к изображению.

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

    <...>
</Grid>

Ответ 2

Все это можно легко получить в xaml, добавив следующий код в сетку

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

Оставайтесь для этого, добавляя папку к решению под названием "Изображения" и добавляя существующий файл в свою новую папку "Изображения", в этом случае называемую "bg.png"

Ответ 3

У меня есть мои изображения в отдельной библиотеке классов ( "MyClassLibrary" ), и они помещаются в папку "Изображения". В примере я использовал "myImage.jpg" в качестве фонового изображения.

  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;          

Ответ 4

Чтобы избежать проблемы с путём, вы можете просто попробовать это, просто сохранить фоновое изображение в папке с изображениями и добавить этот код

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