0

我有一个带有bool Selected变量的自定义用户控件,以及检查它是否被选中的代码,如果是,它会突出显示它,如果它没有被选中,它会隐藏突出显示。很简单。

现在,我有一个充满该对象的面板,我需要它与任何文件资源管理器(例如 Windows 资源管理器)类似地工作。我的意思是,如果您单击该项目,它会自行选择。这不是问题,只需单击鼠标即可。当用户想要选择其他项目时,问题就出现

我基本上想要的是:

每当用户单击一个项目时,所有其他项目都会取消选择等等。

我试图找到最好的方法,我想到的是有一个父类来指导这些操作(更改布尔值,并调用更新函数),但它似乎太草率了,也许有点复杂。有什么建议么?

谢谢。

4

2 回答 2

1

最常见的方法是“收集”组件,它管理规则,例如可以选择多少个,并公开有用的信息和事件(例如 SelectedItem 和 SelectedItemChanged)。

于 2012-04-30T05:58:43.487 回答
0

我发现我的第一个想法是我能找到的最好的(因为“重新发明轮子”,如果不是,过度松懈的答案对于这种情况来说是很好的)。我创建了一个包含这些用户控件列表的类,并为用户控件提供了该列表的属性。

所以当我想选择一个用户控件时,我在它的点击事件中有一个函数,它位于我创建的类中,它取消选择它下面的所有控件,并选择我点击的那个。

它确实像我预期的那样看起来有点草率,但我确信如果我真的全神贯注,我可以让它变得简单而有条理,以防其他人想知道并需要这些信息。

于 2012-04-30T18:31:22.333 回答