2013-11-29 5 views
0

Я довольно новичок в WPF, и мне нужна ваша помощь с одним объектом, проходящим между несколькими окнами WPF.Доля объекта между большим количеством окон WPF

Во-первых, у меня есть MainWindow с Button_Click событием, как это:

private void Button_Click(object sender, RoutedEventArgs e) 
     { 
      Attribute ChooseYourAttr = new Attribute(); 
      Application.Current.MainWindow.Close(); 
      ChooseYourAttr.Show(); 
      Character Player = new Character(firstTextbox.Text); 
     } 

И тогда я мое второе окно называется Атрибут что-то вроде этого:

private void attributeTopLabel_Initialized(object sender, EventArgs e) 
     { 
      String welcomeAttribute = "Ahh. I see! So "; 
      attributeTopLabel.Content = welcomeAttribute; 
     } 

И я хотел бы иметь что-то например: (Player.getName());

private void attributeTopLabel_Initialized(object sender, EventArgs e) 
     { 
      String welcomeAttribute = "Ahh. I see! So " + Player.getName(); 
      attributeTopLabel.Content = welcomeAttribute; 
     } 

Спасибо за ваши ответы!

ответ

0

Просто передать значение через в конструкторе:

private Character player = new Character(); 

public Attribute(Character player) 
{ 
    this.player = player; 
} 

... 

Character player = new Character(firstTextbox.Text); 
Attribute ChooseYourAttr = new Attribute(player); 

... 

private void attributeTopLabel_Initialized(object sender, EventArgs e) 
{ 
    String welcomeAttribute = "Ahh. I see! So " + player.GetName(); 
    attributeTopLabel.Content = welcomeAttribute; 
} 
+0

Атрибут это имя второго окна, в котором я хочу использовать мой объект плеер создан в первом окне – Sappo

+0

Да, я знаю, что, почему ты говоришь мне, что ? Какую часть моего ответа вы не понимаете? – Sheridan

+0

Теперь я понимаю, спасибо за ваш ответ! Могу ли я узнать, могу ли я передать полный объект в качестве параметра в конструкторе? Наверное, да, почему я не мог ... – Sappo

Смежные вопросы