【发布时间】:2017-01-03 06:54:04
【问题描述】:
我正在为通用 Windows 平台编写一个应用程序,我需要在其中加载一些图像以显示在列表中。现在我的问题是这个加载对用户来说太长了。我目前在XAML 中设置图像的来源,使用绑定,如下所示:{Binding Image}。
我只能访问全分辨率图像,所以我想知道是否有办法在将这些图像放在 UI 上之前使它们变小,因此只有较小的图像需要保留在内存中。有没有办法配置 Image UI 元素,以便它自己执行这种调整大小?
另外,有没有办法延迟加载这些图像,因为现在我的 UI 被这些图像的加载阻塞了。
编辑:我用来将本地图像加载到我的 Image 的代码(这是在 ListView.ItemTemplate 内):
<Image
Grid.Row="0"
Source="{Binding Image}"
Stretch="Uniform"
VerticalAlignment="Center"/>
【问题讨论】:
-
不确定这是否有帮助 - 但也许不是显示整个图像,而是显示它们的缩略图?
-
你从哪里得到这些图像?本地还是在线?阻塞是发生在 ui 端,还是加载这些图像需要很长时间。如果加载图像需要很长时间,也许这会对您有所帮助:msdn.microsoft.com/en-us/windows/uwp/threading-async/…
-
你是在创建 BItmapImage 还是绑定图片 url?
-
@wuerzelchen 我正在加载本地图像(在其他地方下载,但是这部分工作并且完全在我的列表填充本地图像的 URI 之前发生),它们非常大(因为我需要它们高- res 其他地方),但在列表中我只显示小图像。我使用相同的图像,它会在这些大图像加载期间阻塞 UI。我将编辑我的问题
-
请贴出代码以便我们理解
标签: c# image performance win-universal-app