我對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#我想可能會稍微複雜。