【发布时间】:2016-01-19 10:25:15
【问题描述】:
我有一个类似类型的操作列表,我需要为其创建不同的类ActionClass1、ActionClass2。
此外,我有不同的站点,我需要在这些站点上执行不同操作的列表。请注意,此列表的内容将取决于站点。
我想开发一个 GUI,以便能够使用 c# 和 WPF 编辑在给定站点 SiteClass 上执行的操作。
我现在的想法是做以下事情:
- 从一个通用的抽象操作类
AbstractActionClass继承不同的操作类ActionClass1等。 - 创建
ActionList的AbstractActionClass列表,其中将包含作为具体实现的不同操作(例如ActionClass1等)。 - 创建
SiteClass实例列表SiteList,其中将包含站点及其相应的操作列表和其他信息(例如站点位置等)。
到目前为止,我对上述内容有一个很好的想法。但是,我现在需要能够为每个站点编辑 ActionList 并在 GUI 中设置样式,以便具有相同 ActionList 的所有站点看起来相同(例如,具有相同的颜色)。因此,我需要能够比较SiteList 中SiteClass 的每个实例的ActionList,以检查它们是否不同,找出有多少不同的实例,然后在GUI 中相应地设置它们的样式。
所以我的问题是:我能否在SiteClass 中使用ActionList List<AbstractActionClass> 类型的列表来执行诸如“唯一”之类的比较,以找出内部ActionList List<AbstractActionClass> 的唯一出现次数SiteList List<SiteClass> 并将此信息用于样式?有没有更好的办法?
【问题讨论】:
-
MVVM 和日期模板是要走的路。在视图模型中,您将拥有
ObservableCollection<T>,其中T是抽象类或用于访问视图中所需属性/方法的简单接口。Unique属性必须由向该集合添加/删除的方法处理。