我有一个图像控件,其中包含嵌入图像的路径(构建动作“资源”).
<Image Source="Assets/images/image.png" Stretch="None" />
如果我将其添加到MainPage.xaml中的容器中,图像显示为正确.当在UserControl中具有相同的图像,如下所示,然后在MainPage.xaml上添加该UserControl的实例时,该图像不会显示.
<UserControl x:Class="HomePage.Views.SimpleUserContol" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" > <Grid x:Name="LayoutRoot" > <Image Source="Assets/images/image.png" Stretch="None" /> </Grid> </UserControl>
任何人都可以明白为什么会发生这种情况,也许指出我的解决方案.
干杯,J
(我正在Silverlight工作,但会认为同样的事情可能发生在WPF中)
编辑:
设置
<Image Source="/Assets/images/image.png" Stretch="None" />
将构建操作设置为“内容”时工作正常,但在使用“资源”时不起作用.问题在于文件结构的相对位置是加号../工作正常.如果可能,我仍然希望从程序集中获取图像
解决方法
您必须将其作为资源引用,而不仅仅是路径.
这是在WPF应用程序中如何完成的:
这是在WPF应用程序中如何完成的:
<Image Source="/MyAppName;component/images/image.png" Stretch="None" />
原始图像位于images / image.png中
注意:我没有SilverLight的经验,但是你说这可能与WPF类似,所以我建议这个