2017-02-06 11 views
-4

ボタンのクリックでメイン関数内で初期化される変数値にアクセスしたい。私はダッシュボード機能に保存されていると私はdash_nav_pw_Click(内部で機能F1を呼び出しています次回を渡すことがユーザー値)にアクセスしたい...最初メイン関数内で宣言された変数値にbutton_clickメソッドに渡す方法はありますか? C#

{ 
    public string user { get; private set; } 

    public Dashboard(String loggedinUser) 
    { 
     InitializeComponent(); 
     var user = loggedinUser; 
     f1(user); 
     // WORKING WELL WHEN I'M CALLING f1() FROM HERE. 
    } 

    private void f1(String usr) 
    { 
     Dock_MainPanel.Children.Clear(); 
     Passuc psuc = new Passuc(usr); 
     Dock_MainPanel.Children.Add(psuc); 
    } 

    private void dash_nav_pw_Click(object sender, RoutedEventArgs e) 
    {  
     // USER VALUE DROPPING HERE. HENCE NULL VALUE IS PASSED TO FUNCTION  
     f1(user); 
    } 

を私のコードを確認してください。グローバル変数と値を作る方法は、一度ユーザー変数に一度代入すると静的にする必要がありますか?

+0

答えのために実際には関係ありませんが、あなたは、C#の命名規則と同様にMSガイドを読むことをお勧めします - https://msdn.microsoft.com/en-us/library/ms229045(v=vs。 110).aspx –

答えて

0

変更var user = loggedinUser;がちょうどuser = loggedinUser;

最初は、関数内の新しい変数を作成するために、後者は既存の外の変数に書き込みます。

+0

申し訳ありませんが(y)ありがとう –

-1

ユーザーはクラス内のパブリックプロパティであるため、既にアクセス可能です。 Dashboardのローカル変数に設定しないでください。値をプロパティに代入するだけです。この値の使い方に関する情報は提供していませんが、プロパティから値を直接取得できます。

{ 
    public string user { get; private set; } 

    public Dashboard(String loggedinUser) 
    { 
     InitializeComponent(); 

     //set the value of the user property here 
     user = loggedinUser; 
     f1(user);   
    } 

    private void f1(String usr) 
    { 
     Dock_MainPanel.Children.Clear(); 
     Passuc psuc = new Passuc(usr); 
     Dock_MainPanel.Children.Add(psuc); 
    } 

    private void dash_nav_pw_Click(object sender, RoutedEventArgs e) 
    {  
      //Once the user property value was set by Dashboard, you can get it here 
      f1(user); 
    } 
+0

入手します。ありがとう(y) –

関連する問題