【WPF】请教listbox里面嵌套可折叠的listbox,要怎么实现?

sustainable012 2016-01-30 11:45:20


如上面2个图,截的是360的检测界面,交互逻辑是点击长条(可能有多条,这里只有一条)能够自由的折叠和展开里面的listbox内容。
我想了下大概有以下思路:
1)<listbox></listbox>
listboxitem用datatemplate
<datatemplate>
<stackpannel 垂直排列>
<stackpannel 水平排列>
<textblock />
<textblock /> //这两个textblock用于显示每一项的概要内容
</stackpannel>
<listbox /> //这个listbox用于显示具体某一项的详细内容列表
<stackpannel>
</datatemplate>
但是这个不知道怎么折叠,同时怎么触发长条的单击事件呢?长条的空白处点击也是要能展开,之前试过stackpannel的mousedown,结果只有在有文字的地方点击才能触发...
2) 用expander,可以折叠,但是我不想要expander最左边的圆形下拉球,好丑。。,同时点击expander的header的空白处貌似也不能触发isexpand事件,必须点圆形按钮或header上的文字才能展开。
3)用usercontrol,还没有具体研究过,希望各位大大能给点思路呢。

...全文
1452 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_28932355 2017-01-05
  • 打赏
  • 举报
回复
你好 请问最后你这个样式做的怎么样? 我现在也在做你一样的需求. 能指点一下吗?
jerry_zjnb 2016-02-01
  • 打赏
  • 举报
回复
1.实现折叠效果最简单的方式是设置嵌套的ListBox的Visibility属性为Collapsed,即隐藏不显示就行了,需要展开时再设置为Visible 2.至于你说的点击触发方式,可以使用mousedown事件,前提是设置stackpannel的background为transparent,这样即使空白区域也能触发了
exception92 2016-01-31
  • 打赏
  • 举报
回复
修改 LIstBoxItem 的template ,使用expander 就可以。

17,740

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧