使用C#在WPF中设置网格上的背景图像

时间:2010-06-23 10:33:30

标签: c# wpf

我遇到了一个问题:我想通过后面的代码设置我的网格图像。

有人能告诉我怎么做吗?

4 个答案:

答案 0 :(得分:67)

通过在网格中添加以下代码,可以在xaml中轻松实现所有这些功能

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

留给你的是,在解决方案中添加一个名为'Images'的文件夹,并将现有文件添加到新的'Images'文件夹中,在这种情况下称为'bg.png'

答案 1 :(得分:46)

您是否忘记了Background财产。画笔应该是一个ImageBrush,其ImageSource可以设置为您的图像路径。

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

    <...>
</Grid>

答案 2 :(得分:24)

我将我的图像放在一个单独的类库(“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;          

答案 3 :(得分:1)

为了避免路径问题,你可以试试这个,只需将背景图像保存在images文件夹中并添加此代码

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