我想知道如何在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;
}
但这只允许我一次发送一条信息。我如何一次发送多个信息?
答案 0 :(得分:2)
好吧,如果您坚持使用该特定设计,那么您可以使用class
或struct
发送信息,而不是string
1}}: p>
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
的原因。但是,如果信息片段除了被传递在一起之外没有彼此特别的关系,那么多个参数方法就可以正常工作。
答案 1 :(得分:1)
您可以在预览类的三参数构造函数中传递三个值。
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类,其中包含您要传递给预览表单的所有值。在mainform上创建DTO类的实例并根据需要设置值并将此DTO类传递给预览表单,在预览表单上,您可以拥有一个将接受此dto类的custructor。