C# 在窗口之间传递参数
我有一个带有主窗口的应用程序,可以加载文本文件并对其进行处理。处理完成后,它将创建一个网络交换机对象列表。然后,我可以对数据执行各种检查和查询。这些检查或查询使用子窗口。我一直在传递开关列表-下面是一个子窗口的示例,我修改了构造函数以获取我的开关列表。我想知道这是否是一个糟糕的设计,或者是否有一种方法可以将子窗口链接到列表中的数据,而不必传入。本项目的下一个主要步骤将是一个GUI前端,用于浏览我正在解析的所有数据,而不仅仅是运行报告。所以我现在想学着用正确的方法去做C# 在窗口之间传递参数,c#,wpf,C#,Wpf,我有一个带有主窗口的应用程序,可以加载文本文件并对其进行处理。处理完成后,它将创建一个网络交换机对象列表。然后,我可以对数据执行各种检查和查询。这些检查或查询使用子窗口。我一直在传递开关列表-下面是一个子窗口的示例,我修改了构造函数以获取我的开关列表。我想知道这是否是一个糟糕的设计,或者是否有一种方法可以将子窗口链接到列表中的数据,而不必传入。本项目的下一个主要步骤将是一个GUI前端,用于浏览我正在解析的所有数据,而不仅仅是运行报告。所以我现在想学着用正确的方法去做 public partia
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();
}
。。。。。
}看看wpf MVVM模型,就像Kent已经提到的那样。MSDN上的这篇文章是一个很好的起点:
您好,是的。。。MVVM类型的设计很好,直到您需要在逻辑上分离的UI之间进行通信。我不得不这样做一次,这有点痛苦。我使用EventAggregator使用广播事件类型机制。@EdS。您为什么不认为MVVM是GUI间通信任务的正确模型?我个人认为,EventAggregator的设计有点过度…@MarioFraiß:我从来没有说过,我认为这是一个进步。我还认为这会使一些过去简单的问题变得更加困难,但总有一些折衷的办法。在分离UI组件时,您会使它们之间的通信变得困难,而在现实世界中,您通常需要这样的通信。谢谢。有很多东西要学,但看起来这正是我想要的。嗨,我很高兴能帮助你。