wpf listbox/listview :按标题分组,但如果只有一项存在,则仅显示标题?
基本上我有以下设置:
public class Sections
{
public String Heading { get; set; }
public String SectionTitle { get; set; }
public ICollection<MyTask> Tasks { get; set; }
}
现在我可以执行以下操作(按标题对所有项目进行分组并在其下显示其任务):
- Heading1
- 第 1 节
- DoX(可点击)
- DoY(可点击)
- 第 2 节
- DoFoo(可点击)
- DoBar(可点击)
- 第 1 节
- 标题2
- 第 X 节
- DoSomething(可点击)
- Y 部分
- DoSomethingElse(可点击)
- 第 X 节
- 标题3
- 特殊部分
- AccessSpecialSection(可点击)
- 特殊部分
我想要实现的是压缩此列表:
- Heading1
- 第 1 节
- DoX
- 是吗
- 第 2 节
- 杜福
- 多巴
- 第 1 节
- 标题2
- SectionX(DoSomething 隐藏在其中 - 现在,SectionX 是可点击的)
- SectionY(DoSomethingElse 隐藏在其中 - 现在,SectionY 可点击)
- Heading3(SpecialSection / AccessSpecialSection 隐藏在此 - 现在 Heading3 是可点击的)
不确定是否有一个简单的方法来做到这一点?
I have a feeling it will require some type of templating? where there are 4 possibilities:
- 如果标题中存在一个部分并且该部分中存在一个任务 => 如果标题中存在一个部分并且该部分中存在 2 个以上任务,则标题获取命令绑定
- =>显示标题/隐藏部分并且任务获取命令绑定
- 如果标题中存在 2 个以上的部分并且部分中存在一个任务 =>显示标题/显示部分/隐藏任务并向部分提供命令绑定
- 如果标题中存在 2+ 部分并且部分中存在 2+ 任务=>显示全部并正常继续(TASKS 获取命令绑定)。
Basically I have the following setup:
public class Sections
{
public String Heading { get; set; }
public String SectionTitle { get; set; }
public ICollection<MyTask> Tasks { get; set; }
}
Right now I can do the following (Group all items by header and show their tasks under them):
- Heading1
- Section1
- DoX (Clickable)
- DoY (Clickable)
- Section2
- DoFoo (Clickable)
- DoBar (Clickable)
- Section1
- Heading2
- SectionX
- DoSomething (Clickable)
- SectionY
- DoSomethingElse (Clickable)
- SectionX
- Heading3
- SpecialSection
- AccessSpecialSection (Clickable)
- SpecialSection
What I'm trying to achieve is to condense this list down:
- Heading1
- Section1
- DoX
- DoY
- Section2
- DoFoo
- DoBar
- Section1
- Heading2
- SectionX (DoSomething is hidden within this - Now SectionX is Clickable)
- SectionY (DoSomethingElse is hidden within this - Now SectionY is Clickable)
- Heading3 (SpecialSection / AccessSpecialSection is hidden within this - Now Heading3 is Clickable)
Not sure if there is an easy way to do this?
I have a feeling it will require some type of templating? where there are 4 possibilities:
- IF ONE SECTION exists in the Heading AND ONE TASK exists in the Section => Heading gets the command binding
- IF ONE SECTION exists in the Heading AND 2+ TASKS exist in the Section => Show Heading / Hide Section and the TASKS get the command binding
- IF 2+ SECTIONS exist in the Heading and ONE TASK exists in the Section => Show Heading / Show Section / Hide the TASK and give the Section the command binding
- IF 2+ SECTIONS exist in the Heading and 2+ TASKS exist in the Section => Show all and proceed as normal (TASKS get the command binding).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论