2017-11-14 10 views
0

私のコードでは、repeatnumberという文字列を定義し、それをforループに割り当てました。しかし、私はそれがボタンクリックイベントを作成するときにアクセス可能であることが必要です。どのようにそれを行うか分からない。名前は現在のコンテキストに存在しません - どのようにアクセスするのですか?

誰でも私にいくつかのヒントを教えてもらえますか?あなたはrepeatnumber

クラスのプロパティとして
public partial class MainWindow : Window 
{ 

    private string repeatNumber; 

    public MainWindow() 
    { 
    ... 

を定義する必要が

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    {   
     InitializeComponent(); 
     string[] assignments = new string[] { "A", "b", "c", "d", "e", "f" }; 
     Random rnd = new Random(); 

     string[] randomingArray = assignments.OrderBy(x => rnd.Next()).ToArray(); 
     string repeatNumber = ""; 

     List<ImageSource> animals = new List<ImageSource>(); 

     for (int i = 1; i < 100; i++) 
     { 
      if (i == 9) 
      { 
       repeatNumber = randomingArray[i % randomingArray.Length]; 
       animals.Add(new ImageSource() { Source = repeatNumber, Number = i }); 
      } 
      else if ((i % 9) == 0) 
      { 
       animals.Add(new ImageSource() { Source = repeatNumber, Number = i }); 
      } 
      else 
      { 
       animals.Add(new ImageSource() { Source = randomingArray[i % rnd.Next(1,5)], Number = i }); 
      } 
      ItemsControl1.ItemsSource = animals; 
     } 
    } 


    private void btn1_Click(object sender, RoutedEventArgs e) 
    { 
     MessageBox.Show("test"); 
    } 
    private void btn2_Click(object sender, RoutedEventArgs e) 
    { 
     MessageBox.Show((new ImageSource() { Source = repeatNumber })); <-- the name repeatNumber does not exist in current context 
    } 
} 

class ImageSource 
{ 
    public int Number { get; set; } 
    public string Source { get; set; } 
} 

答えて

2

それ以外の場合は、MainWindowコンストラクタの範囲(< =あなたはそれを見てみたい)に制限されています。

関連する問題