ListBox显示图片的一些问题

相关:http://t.csdnimg.cn/xTnu8

显示图片的方案就是:自定义一个Photo类,里面有属性Source;View再绑定ViewModel中的Photo集合,再到View中给ListView设置数据模板

关键点:这样做很容易忘记写数据模板

数据模板可以写成下面这样:

XML 复制代码
<DataTemplate DataType="{x:Type local:Photo}">
    <StackPanel>
        <Image Source="{Binding Source}"/>
    </StackPanel>
</DataTemplate>

-- 将这个数据模板放到Window.Resources中也会起作用的,即使ListBox中绑定的是一个Photo类型的集合。

没有数据模板前

添加数据模板后:

如果想要这些图片横向排列,就得设置ItemsPanel

XML 复制代码
<ListBox.ItemsPanel>
    <ItemsPanelTemplate>
        <WrapPanel HorizontalAlignment="Center" IsItemsHost="True"/>
    </ItemsPanelTemplate>
</ListBox.ItemsPanel>

这个时候的显示效果为:

相关推荐
愚者Pro13 分钟前
Flutter基础学习
前端·javascript·vue.js
ZC跨境爬虫20 分钟前
跟着 MDN 学 HTML day_17:媒体与 Web Audio API 自动播放指南——策略、检测与最佳实践
前端·笔记·ui·html·音视频·媒体
月昤昽22 分钟前
autoCAD二次开发 4.正多边形与collection区分
算法·c#·二次开发·autocad二次开发
canonical_entropy26 分钟前
Nop Chaos Flux:百度AMIS之后的下一代低代码渲染引擎
前端·低代码·ai编程
Victory_202532 分钟前
c#定时器顺序控制写法
开发语言·c#·c#顺序控制+定时器
时光足迹44 分钟前
Tiptap 简单编辑器模版
前端·javascript·react.js
JSLove1 小时前
nginx入门
前端·nginx
时光足迹1 小时前
ThreeJS之GUI控制器
前端·javascript·three.js
时光足迹1 小时前
Tiptap编辑器
前端·javascript·react.js