使用字符串

时间:2015-04-22 12:07:21

标签: c# xaml windows-store-apps

我无法理解为什么在XAML中使用字符串绑定到assets文件夹中的图像,并且使用字符串在C#中设置line-height不起作用。

作为SampleData.json中的示例,有一个ImagePath。在XAML中,默认情况下在GridApp模板中,您只需将其绑定为Image.Source,它就可以正常工作。

Source="{Binding ImagePath}"

但是如果我想设置Image.Source,我需要将它转换为BitmapImage或类似的。为什么呢?

与此相关的另一个问题是,如果我将// SampleData.json ... "UniqueId": "Group-1", "Title": "Group Title: 1", "Subtitle": "Group subtitle: 1", "ImagePath": "Assets/DarkGray.png" ... 更改为Assets/DarkGray.png,则不再显示该问题。有没有办法绑定到项目文件夹之外的图像?

1 个答案:

答案 0 :(得分:1)

回答第一部分:

Xaml有时会使用TypeConverters转换值并为您解决问题。一个很好的例子就是Foreground属性。您可以说Foreground="Red",系统会发现您的意思是new SolidColorBrush(Colors.Red)。如果从代码中执行相同操作,则不使用这些转换器,因此它不起作用。

第二部分:

每个Windows应用商店应用都在自己的沙盒环境中运行。除了一些API之外,您无法访问它之外的任何内容。 (文件选择器,媒体库等...... - 但大多数都需要用户交互。