我无法理解为什么在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
,则不再显示该问题。有没有办法绑定到项目文件夹之外的图像?
答案 0 :(得分:1)
回答第一部分:
Xaml有时会使用TypeConverters转换值并为您解决问题。一个很好的例子就是Foreground
属性。您可以说Foreground="Red"
,系统会发现您的意思是new SolidColorBrush(Colors.Red)
。如果从代码中执行相同操作,则不使用这些转换器,因此它不起作用。
第二部分:
每个Windows应用商店应用都在自己的沙盒环境中运行。除了一些API之外,您无法访问它之外的任何内容。 (文件选择器,媒体库等...... - 但大多数都需要用户交互。