我的lock.png
文件夹中的WPF exe文件旁边有一个图像images
。
现在,我将把它作为图像加载到WPF项目中,我使用了以下XAML代码:
<Image Stretch="Fill" Source="pack://siteoforigin:,,,/images/lock.png" />
虽然有效,但我正在处理项目时Expression Blend
或Visual Studio
没有显示。
如何在这些情况下显示外部图像?
答案 0 :(得分:4)
尝试动态加载图片。这应该是xaml:
<Image Stretch="Fill" Name="MyImage" />
这在代码背后。在Window_Loaded或Window构造函数中:
if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "images/lock.png"))
{
Uri uri = new Uri(AppDomain.CurrentDomain.BaseDirectory + "images/lock.png", UriKind.RelativeOrAbsolute);
MyImage.Source = BitmapFrame.Create(uri);
}
答案 1 :(得分:4)
使用格式如: 项目;组件/ ImagePath的
e.g。
<Image Source="ImageDemo;component/Images/ISIBAR.png" Name="custLogo"/>
ImageDemo是项目名称,Image / ISIBAR.png是项目中的路径
答案 2 :(得分:1)
如果图像相对于您的EXE位置,请执行
<Image Source="Images\lock.png" />
如果图像不是相对的,那么你就会遇到更大的问题。 pack语法仅在您将资源“打包”到程序集中时才有用。
松散图像和混合的问题是Blend将你的exe托管在它控制的临时目录中,并查找相对于该临时目录的图像,这将阻止你依赖的任何路径。
答案 3 :(得分:1)
可能更容易:
<Image x:Name="ImageObject" Source="file:///C:\\1.jpg"/>
记住反斜杠!
答案 4 :(得分:0)
我有同样的问题。
确保将图像构建操作设置为“资源”。 (右键单击图像,然后转到属性,将构建操作设置为资源)
此外,代替siteoforigin使用应用程序权限
答案 5 :(得分:-1)
您的主要IDE是Visual Studio吗? 如果是,为什么要手动?在“属性”窗口中,您只需浏览要与图像组件一起使用的图像的方式