5

我在gridview单元格内动态创建stackpanel,并在stackpanel内放置一个图像控件,但在窗口上只有空白区域,而不是
这里的图像是我正在做的

StackPanel Stkpnl = new StackPanel();

Image BgImg = new Image();
BitmapImage Img = new BitmapImage(new Uri(
    "Images/cellbg.png", UriKind.Relative));
BgImg.Source = Img ;

Stkpnl.Children.Add(BgImg );
4

3 回答 3

2

您需要使用 Pack URI。见https://stackoverflow.com/a/1651397/486660

如果您对 Pack URI 的外观有疑问,暂时将Image控件添加到您的 WPF 页面,然后转到Source属性并单击“...”按钮并导航到您的图像。该属性的文本框中将包含 Pack URI。

于 2012-08-10T17:25:08.950 回答
0

您的代码似乎是正确的,您是否检查了文件夹中是否存在图像或相对路径是否正确,如果您稍后将此图像添加到图像文件夹中,而不是将图像的“构建操作”设置为“资源” ”。右键单击解决方案资源管理器中的图像而不是设置此属性。

你也应该检查这个问题

在代码中设置 WPF 图像源

于 2012-08-13T12:25:03.630 回答
0
StackPanel Stkpnl = new StackPanel();
Image BgImg = new Image();    
String packuri = "pack://application:,,,/yourassemblyname;component/cellbg.png";
BgImg.Source = new ImageSourceConverter().ConvertFromString(packuri) as ImageSource;

Stkpnl.Children.Add(BgImg );

PS:要在 Visual Studio 2012 中找到程序集名称,请转到菜单栏中的“项目”->“设置属性”->应用程序。

于 2016-02-18T06:04:37.203 回答