У меня проблема: я хочу установить образ моей сетки через код позади.
Кто-нибудь может мне сказать, как это сделать?
У меня проблема: я хочу установить образ моей сетки через код позади.
Кто-нибудь может мне сказать, как это сделать?
Вы забыли свойство Background. Кисть должна быть ImageBrush, чей ImageSource может быть установлен на ваш путь к изображению.
<Grid>
<Grid.Background>
<ImageBrush ImageSource="/path/to/image.png" Stretch="UniformToFill"/>
</Grid.Background>
<...>
</Grid>
Все это можно легко получить в xaml, добавив следующий код в сетку
<Grid>
<Grid.Background>
<ImageBrush ImageSource="/MyProject;component/Images/bg.png"/>
</Grid.Background>
</Grid>
Оставайтесь для этого, добавляя папку к решению под названием "Изображения" и добавляя существующий файл в свою новую папку "Изображения", в этом случае называемую "bg.png"
У меня есть мои изображения в отдельной библиотеке классов ( "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;
Чтобы избежать проблемы с путём, вы можете просто попробовать это, просто сохранить фоновое изображение в папке с изображениями и добавить этот код
<Grid>
<Grid.Background>
<ImageBrush Stretch="Fill" ImageSource="..\Images\background.jpg"
AlignmentY="Top" AlignmentX="Center"/>
</Grid.Background>
</Grid>