我对C#比较新,我有一个关于如何从另一个窗口中的一个窗口访问变量的问题。我想做这样的事情:
public partial class MainWindow : Window
{
int foo=5;
....
}
并在window2中:
public partial class Window2: Window
{
int bar=foo;
}
我该怎么做?提前谢谢......
答案 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#,我认为它可能稍微复杂一些。