如何在窗口之间传输控制信息

本文关键字:传输 控制 信息 之间 窗口 | 更新日期: 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;                 
    }

但这只允许我一次发送一条信息。如何一次发送多个信息?

如何在窗口之间传输控制信息

好吧,如果你坚持特定的设计,那么你可以在classstruct中发送信息,你可以通过它而不是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) { ... }

如果我经常处理某种类型的数据收集,我只是更喜欢保持良好和紧凑的关系,这就是我推荐classstruct的原因。然而,如果信息片段除了一起传递之外,彼此之间并没有特定的关系,那么多参数方法就可以很好地工作。

您可以在预览类的三参数构造函数中传递您的三个值。

    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类的构造函数。