我对C#相对来说比较陌生,我对如何从另一个窗口访问变量有疑问。我想要做这样的事情:访问另一个窗口中的变量值
public partial class MainWindow : Window
{
int foo=5;
....
}
和窗口2:
public partial class Window2: Window
{
int bar=foo;
}
我应该怎么办呢?在此先感谢...
我对C#相对来说比较陌生,我对如何从另一个窗口访问变量有疑问。我想要做这样的事情:访问另一个窗口中的变量值
public partial class MainWindow : Window
{
int foo=5;
....
}
和窗口2:
public partial class Window2: Window
{
int bar=foo;
}
我应该怎么办呢?在此先感谢...
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;
}
}
你可以把这些变量为静态类:
static class MyVariables
{
public static int foo;
}
在主窗口,你可以把这个变量的值:
MyVariables.foo = 5;
而且在窗口2,你可以要求的价值:
int bar = MyVariables.foo;
首先你必须使你的变量public
:
public int foo = 5;
用于访问,创建MainWindow
实例:
MainWindow mw = new MainWindow();
bar = mw.foo;
您可以多个方式做到这一点。这取决于你的使用情况。
您可以从Window2中公开属性(假定此窗体由MainWindow调用)。
public partial class Window2: Window
{
public string Name {get; set;}
}
然后在MainWindow中可以设置这个属性。
或您可以创建一个singelton作为数据共享。 虽然,我不会推荐。
或您也可以参考这个link但假设你是刚开始的C#我想可能会稍微复杂。