之间,我有一个加载的文本文件(S)和处理它们的主窗口内的应用。处理完成后,它会创建一个网络交换机对象列表。然后我可以对数据执行各种检查和查询。这些检查或查询使用子窗口。我一直在传递开关列表 - 这里是一个子窗口的例子,我修改了构造函数来获取我的开关列表。我想知道这是否是一种糟糕的设计,或者是否有一种方法可以将子窗口链接到列表中的数据,而无需将其传递到该列表中。该项目的下一个主要步骤将成为GUI的前端浏览我解析出的所有数据,而不仅仅是运行报告。所以我想学会现在就以正确的方式去做。传递参数的Windows
public partial class LogFileWindow : Window
{
private ObservableCollection<LogFileEntry> _LogFileCollection = new ObservableCollection<LogFileEntry>();
private List<CiscoSwitch> SwitchList = new List<CiscoSwitch>();
// constructor modified to accept a list as a paramter
public LogFileWindow(List<CiscoSwitch> sl)
{
SwitchList = sl;
InitializeComponent();
}
..... }
上MVVM阅读起来。 – 2012-03-28 17:27:45
是啊...... MVVM类型的设计一直都很好,直到你需要在逻辑上分离的UI之间进行通信。我不得不这样做一次,这有点痛苦。我使用'EventAggregator'使用广播事件类型机制。 – 2012-03-28 17:32:31
@EdS。你为什么不认为MVVM是GUI间通信任务的正确模型?我个人认为,EventAggregator有点过度设计... – 2012-03-28 17:34:25