我需要添加来自后台代码的控件的背景图像。也就是说,我写了以下代码:
BitmapImage tmp = new BitmapImage();
tmp.BeginInit();
tmp.UriSource = new Uri(@"../images/card.png", UriKind.Relative);
tmp.DecodePixelWidth = 240;
tmp.EndInit();
this.bg.Source = tmp;问题是我不能获得正确的Uri源代码。该项目的结构如下:图像文件夹位于根目录(即与资源文件夹相同的级别),card.png将其构建操作设置为资源,并始终将其复制到输出文件夹。我的类在另一个文件夹中,与“图像”的级别相同。我遗漏了什么?谢谢。
发布于 2012-02-17 01:20:55
我想问题出在你上课的地点……如果您的类不在根位置,那么您必须使用以下代码...
new Uri(@"../images/card.png", UriKind.Relative)注意:"../“可能会根据你所在的班级位置而有所不同...
发布于 2012-02-17 01:26:27
您可以在MSDN中找到完整的选项列表,我个人更喜欢使用以下两种绝对路径格式:
对于嵌入的资源(在当前程序集中):
"pack://application:,,,/Subfolder/ResourceFile.xaml"对于安装文件夹中的资源:
"pack://siteoforigin:,,,/Subfolder/SOOFile.xaml"有关更多选项,请参阅MSDN link。
发布于 2012-02-17 03:52:26
很多时候,我发现完整的Uri有点太多了,而简化的Uri即使不是更好,也同样有效
Uri imageUri = new Uri("/namespace;component/images/card.png", UriKind.RelativeOrAbsolute);https://stackoverflow.com/questions/9315695
复制相似问题