2014-10-19 51 views
1

我对C#相对来说比较陌生,我对如何从另一个窗口访问变量有疑问。我想要做这样的事情:访问另一个窗口中的变量值

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

和窗口2:

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

我应该怎么办呢?在此先感谢...

回答

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; 
    } 
} 
0

你可以把这些变量为静态类:

static class MyVariables 
{ 
    public static int foo; 
} 

在主窗口,你可以把这个变量的值:

MyVariables.foo = 5; 

而且在窗口2,你可以要求的价值:

int bar = MyVariables.foo; 
1

首先你必须使你的变量public

public int foo = 5; 

用于访问,创建MainWindow实例:

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

您可以多个方式做到这一点。这取决于你的使用情况。

您可以从Window2中公开属性(假定此窗体由MainWindow调用)。

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

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

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

您也可以参考这个link但假设你是刚开始的C#我想可能会稍微复杂。