Windows-10 UWP 将图像 url 绑定到 ListView 中的图像源

Posted

技术标签:

【中文标题】Windows-10 UWP 将图像 url 绑定到 ListView 中的图像源【英文标题】:Windows-10 UWP Binding Image url to Image source in ListView 【发布时间】:2016-09-15 15:11:12 【问题描述】:

我正在将我的 WinRT 应用程序移植到 UWP。我的应用程序尝试显示图像,其 uri 是从在线查询中接收的。 我在 XAML 中将它绑定到像这样的图像源

<Image  Source="Binding ImageSrc" Stretch="UniformToFill" />

应用无法从此 uri 获取图像。它只能显示应用容器中存在的图像(/Assets/ 文件夹中的任何内容) 我从在线查询中收到的 uri 是有效的。我通过在浏览器中粘贴 uri 验证了这一点。浏览器能够从 uri 获取并显示图像。 我在 Data Binding in WPF 上阅读了这篇文章。它至少说,如果 “ImageSrc 是图像的有效 uri 的字符串表示”,则上述绑定将起作用。 ImageSrc 在我的情况下是有效的 uri 由于上述线程是针对 WPF 的,我不确定即使对于 UWP 是否也是如此。在这种情况下,我还需要做些什么吗?

【问题讨论】:

【参考方案1】:

如果您正在寻找基于 XAML 的绑定,方法如下:

<Image>
    <Image.Source>
        <BitmapImage UriSource="Binding ImageSource" />
    </Image.Source>
</Image>

【讨论】:

ImageSource 的情况下,我建议在Binding 中使用FallbackValue=null 以始终拥有流畅的Designer。 &lt;BitmapImage UriSource="Binding ImageSource, FallbackValue=null" /&gt;【参考方案2】:

我可以给你一种选择。 您可以从代码隐藏文件中设置图像源。 Url 不使用 Image 标签的“source”属性直接呈现。 您必须先将 URL 转换为位图图像,然后将源属性设置为该位图对象

试试这个,

Image.Source = new BitmapImage(
new Uri("http://yourdomain.com/image.jpg", UriKind.Absolute));

正如这里的问题所见 Programmatically set the Source of an Image (XAML)

【讨论】:

嗨@Rachhek,感谢您的回复。看起来你的答案也是有效的。但我一直在寻找基于 XAML 的绑定,因此接受了上面 Konstantin 的回答。

以上是关于Windows-10 UWP 将图像 url 绑定到 ListView 中的图像源的主要内容,如果未能解决你的问题,请参考以下文章

UWP SemanticZoom组绑定

UWP Xaml将属性绑定到splitview中的其他页面

Windows 10 UWP Javascript 应用下载权限

UWP Windows10开发更新磁贴和动态更新磁贴

无法在内容对话框UWP中绑定ImageSource

自动启动 Windows 10 UWP 应用