如何在窗口之间传输控制信息
本文关键字:传输 控制 信息 之间 窗口 | 更新日期: 2023-09-27 18:26:27
我想知道如何在WPF中的窗口之间传输多个信息。
到目前为止,我有这个:
主要形式:
string path = @"C:'";
private void preview_Click(object sender, RoutedEventArgs e) {
preview newWindow = new preview(Path);
newWindow.Show();
}
预览形式:
public preview(string _path) {
InitializeComponent();
Path = _path;
}
但这只允许我一次发送一条信息。如何一次发送多个信息?
好吧,如果你坚持特定的设计,那么你可以在class
或struct
中发送信息,你可以通过它而不是string
:
preview newWindow = new preview(data);
public preview(CustomData data) { ... }
或者,如果构造函数接受多个参数,只需传递多个参数:
preview newWindow = new preview(path, somethingElse, somethingMore);
public preview(string path, int somethingElse, int somethingMore) { ... }
如果我经常处理某种类型的数据收集,我只是更喜欢保持良好和紧凑的关系,这就是我推荐class
或struct
的原因。然而,如果信息片段除了一起传递之外,彼此之间并没有特定的关系,那么多参数方法就可以很好地工作。
您可以在预览类的三参数构造函数中传递您的三个值。
string path = @"C:'";
private void preview_Click(object sender, RoutedEventArgs e) {
preview newWindow = new preview(1,"string1","String2");
newWindow.Show();
}
The preview form:
int a;
string b;
string c;
public preview(int _a, string _b, string _c)
{
InitializeComponent();
this.a=_a;
this.b=_b;
this.c=_c;
}
如果你必须向预览表单传递更多的值,我建议你应该创建一个DTO类,它将包含你想传递给预览表单的所有值。在你的主表单上创建DTO类的实例,并根据需要设置值,然后将此DTO类传递给预览表,在预览表单上,你可以有一个接受此DTO类的构造函数。