我有一个带有bool Selected
变量的自定义用户控件,以及检查它是否被选中的代码,如果是,则突出显示它,如果未选中,则隐藏突出显示。很简单。
现在,我有一个充满该对象的面板,我需要它与任何文件资源管理器(如Windows资源管理器)类似。我的意思是,如果你点击该项目,它会选择自己。这不是问题,只需点击鼠标即可。当用户想要选择其他项目而不是时会出现问题。
我基本上想要的是:
每当用户点击某个项目时,所有其他项目都会取消选择等等。
我试图找到最好的方法来做到这一点,我想到的只有一个父类来指导那些操作(更改bool,并调用更新函数)但它似乎太草率了,也许是有点复杂。有什么建议吗?
感谢。
答案 0 :(得分:1)
最常见的方法是“集合”组件,它管理规则,例如可以选择的数量以及公开有用的信息和事件(例如SelectedItem和SelectedItemChanged)。
答案 1 :(得分:0)
我发现我的第一个想法是我能找到的最好的东西(如“没有重新发明轮子”,如果没有,那么过度回答对于这种情况来说是很好的)。 我创建了一个包含这些用户控件列表的类,并为用户控件提供了该列表的属性。
所以当我想选择一个用户控件时,我在其click事件中有一个函数,它在我创建的类中,取消选择它下面的所有控件,并选择我点击的那个。
看起来确实像我预期的那样草率但我确信如果我真的把它放进去,我可以把它简单明了地组织起来,以防万一其他人想知道并需要这些信息。