图像XAML标记(Win8)无法使用某些路径

时间:2012-12-30 20:58:46

标签: c# xaml windows-8 visual-studio-2012

Image标记的Source属性仅适用于添加到Solution Explorer中'Assets'文件夹的文件。

我在Assets目录中有两个文件:Logo.png和Logo2.png,但在解决方案资源管理器中只将Logo.png添加到'Assets'。此图像正常工作:

<Image Source="/Assets/Logo.png"/>

虽然此图片未显示:

<Image Source="/Assets/Logo2.png"/>

像'C:\ Users \ user \ Pictures \ img.jpg'这样的文件路径也不起作用。 是否可以访问解决方案资源管理器中“资产”文件夹中未指定的图像?

编辑:

以下是我的工作:

  1. 在VS2012中创建新项目:Visual C# - &gt; Windows应用商店 - &gt;空白应用程序(XAML)
  2. 打开MainPage.xaml
  3. 从工具箱中选择图像并在设计模式下绘制图像元素
  4. Source属性的唯一工作值是'/Assets/Logo.png'。这些不起作用:'C:\ images \ img.jpg','/Assets / LOGo2.png','Project_name; component / Assets / Logo.png','Project_name; component / Assets / Logo2.png'等

2 个答案:

答案 0 :(得分:3)

以下是您要使用的格式:

Project;component/ImagePath

其中Project是要引用的程序集的名称(大多数情况下是项目),“component”指定引用的程序集是从本地程序集引用的。

因此对于Logo2,你会这样做:

<Image Source="ImageDemo;component/Assets/Logo2.png" Name="custLogo"/>

“ImageDemo”是项目名称,“Assets / Logo2.png”是项目内的路径。

至于绝对路径,以下对我来说效果很好:

<Image Source="C:\Images\001.jpg"></Image>

答案 1 :(得分:1)

好的,这是我发现的:

Windows应用商店应用(Win8)对文件的访问权限有限。所以我只能使用应用程序附带的文件。但是,如果用户在文件选择器中选择文件,则可以获取用户的文件。

还有一个很棒的样本here