繁体   English   中英

将BitmapImage投射到Image.Source

[英]Casting BitmapImage to Image.Source

我目前停留在Visual Studio 2017中的一个项目中。以下代码用于在.xaml页面上设置Image组件的Source。

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

我的导入,引用和类型均已检查并且正确。 我是否缺少框架? 是否有可能导致此更新不再起作用的更新?

我正在使用Microsoft.NETCore.UniversalWindowsPlatform中的VS2017

请注意,这不是重复这个 ,因为我没有引用一个资源文件夹,我的路径是绝对的。

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));

看来您已经using Windows.Media.Imaging; 在您的C#文件中。 using Windows.UI.Xaml.Media.Imaging;替换它是明智的using Windows.UI.Xaml.Media.Imaging;

然后,您可以使用以下代码:

image.Source = new BitmapImage(new Uri(imageUrl, UriKind.Absolute));

错误消息会告诉您确切的错误。 您正在UWP项目中使用非UWP BitmapImage 摆脱对System.Windows.Media.Imaging的使用,并将其更改为Windows.UI.Xaml.Media.Imaging

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM