2012-03-28 64 views
0

之间,我有一个加载的文本文件(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(); 
    } 

..... }

+0

上MVVM阅读起来。 – 2012-03-28 17:27:45

+0

是啊...... MVVM类型的设计一直都很好,直到你需要在逻辑上分离的UI之间进行通信。我不得不这样做一次,这有点痛苦。我使用'EventAggregator'使用广播事件类型机制。 – 2012-03-28 17:32:31

+0

@EdS。你为什么不认为MVVM是GUI间通信任务的正确模型?我个人认为,EventAggregator有点过度设计... – 2012-03-28 17:34:25

回答