我目前停留在Visual Studio 2017中的一个项目中。以下代码用于在.xaml页面上设置Image组件的源。
private void setImage()
{
var image = new Image();
var imageUrl = @"http://ddragon.leagueoflegends.com/cdn/5.2.1/img/" +
currentChamp.Image.Group + "/" + currentChamp.Image.Full;
Debug.Write(imageUrl);
BitmapImage bmi = new BitmapImage();
bmi.BeginInit();
bmi.UriSource = new Uri(imageUrl, UriKind.Absolute);
bmi.EndInit();
image.Source = bmi;
}
以下是要引用的代码。 ^^^
在所有其他问题中,我发现类似与我的要求相同,这一致是我正在尝试做的事情的正确/已回答/批准方式。但是,我收到的错误是没有人其他任何问题
无法将system.windows.media.imaging.BitmapImage隐式转换为Windows.UI.XAML.media.ImageSource
我的导入,引用和类型都已经过检查并且是正确的。我错过了一个框架吗?是否有可能导致此更新不再有效的更新?
我正在使用VS2017在Microsoft.NETCore.UniversalWindowsPlatform
中工作请注意,这不是this的重复,因为我没有引用资源文件夹,而且我的路径是绝对的。
答案 0 :(得分:2)
此处的错误消息告诉您究竟出了什么问题。您在UWP项目中使用非UWP BitmapImage
。摆脱对System.Windows.Media.Imaging
的使用,并将其更改为Windows.UI.Xaml.Media.Imaging
。
答案 1 :(得分:2)
Windows.Media.Imaging.BitmapImage
是一个WPF类。 Windows.UI.XAML.media.ImageSource
是UWP。您找到了WPF的解决方案,但您的UWP Image
类需要UWP位图对象。您需要使用Windows.UI.Xaml.Media.Imaging.BitmapImage
。
我目前无法测试UWP,但是从阅读文档来看,我认为你想要这样的东西:
image.Source = new Windows.UI.Xaml.Media.Imaging.BitmapImage(new Uri(imageUrl, UriKind.Absolute));
您的C#文件中必须有using Windows.Media.Imaging;
。用using Windows.UI.Xaml.Media.Imaging;
然后你可以使用它:
image.Source = new BitmapImage(new Uri(imageUrl, UriKind.Absolute));