从另一个窗口中的一个窗口访问变量值

时间:2014-10-19 16:38:33

标签: c# wpf

我对C#比较新,我有一个关于如何从另一个窗口中的一个窗口访问变量的问题。我想做这样的事情:

public partial class MainWindow : Window
{
int foo=5;
....
}

并在window2中:

public partial class Window2: Window
{
int bar=foo;
}

我该怎么做?提前谢谢......

4 个答案:

答案 0 :(得分:1)

您可以将这些变量放入静态类中:

static class MyVariables
{
    public static int foo;
}

在MainWindow中,您可以设置此变量的值:

MyVariables.foo = 5;

在Window2中,您可以请求值:

int bar = MyVariables.foo;

答案 1 :(得分:1)

首先,您必须制作变量public

public int foo = 5;

要进行访问,请创建MainWindow的实例:

MainWindow mw = new MainWindow();
bar = mw.foo;

答案 2 :(得分:1)

public class WindowBase : Window
{
    protected static int foo = 5;

    public int Foo
    {
        get
        {
            return foo;
        }
        set
        {
            foo = value;
        }
    }
}

public partial class Window1 : WindowBase
{
    public Window1()
    {
        int bar = base.Foo;

    }
}

public partial class Window2 : WindowBase
{
    public Window2()
    {
        int bar = base.Foo;
    }
}

答案 3 :(得分:0)

您可以多种方式执行此操作。这取决于你的用法。

您可以从Window2公开属性(假设此表单由MainWindow调用)。

public partial class Window2: Window
{
    public string Name {get; set;}
}

然后在MainWindow中你可以设置这个属性。

您可以创建 singelton 作为数据共享。 虽然,我不会推荐。

您也可以参考此link,但假设您刚刚开始使用C#,我认为它可能稍微复杂一些。