如上面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,还没有具体研究过,希望各位大大能给点思路呢。