我有一个非常奇怪的情况,我已经失去了无数个小时,我也无法在stackoverflow上找到任何东西。
当我在空白页面上通过C#创建一个简单的图像时,如:
mainStackLayout.Children.Add(new Image() { Source = "mypic.png" });
Content = mainStackLayout;
在我编译它并在我的Android设备上运行后,它可以完美地工作,而在UWP上构建和运行根本不会显示任何图像。
我在UWP / Assets和UWP / root目录中复制了相同的图像,但仍然没有。 有什么想法吗?
答案 0 :(得分:2)
我在UWP / Assets和UWP / root目录中复制了相同的图像,但仍然没有。有什么想法吗?
将图片从UWP中的Android\Drawables
复制到Assets
文件夹时。并且BuildAction Property
也会被复制到UWP项目中。因此,您需要将属性设置为Content
。
否则,pic路径为Assets/xxx.png
。无法使用`Source =" xxx.png"访问它。所以你需要修改图像源。
mainStackLayout.Children.Add(new Image() { Source = "Assets/icon.png" });
Content = mainStackLayout;
为了获得更大的灵活性,可以使用Device.RuntimePlatform
属性为某些或所有平台选择不同的图像文件或路径,如此代码示例所示
mainStackLayout.Children.Add(new Image() { Source = Device.RuntimePlatform == Device.UWP ? ImageSource.FromFile("Assets/xxx.png") : ImageSource.FromFile("waterfront.jpg")});
有关详情,请参阅working with image。