2014-10-19 49 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#我想可能會稍微複雜。