为什么我的xamarin android显示图像而UWP不显示?

时间:2018-03-19 23:47:35

标签: c# android xamarin.forms uwp

我有一个非常奇怪的情况,我已经失去了无数个小时,我也无法在stackoverflow上找到任何东西。

当我在空白页面上通过C#创建一个简单的图像时,如:

mainStackLayout.Children.Add(new Image() { Source = "mypic.png" });
Content = mainStackLayout;

在我编译它并在我的Android设备上运行后,它可以完美地工作,而在UWP上构建和运行根本不会显示任何图像。

我在UWP / Assets和UWP / root目录中复制了相同的图像,但仍然没有。 有什么想法吗?

1 个答案:

答案 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

相关问题