Здесь вы определяете локальную переменную имя.Эта переменная видна только внутри блока {}.Таким образом, мы не можем использовать его где-либо еще.
public void NameBox_TextChanged(object sender, TextChangedEventArgs e)
{
string name = NameBox.Text;
}
Вы можете добавить новое строковое свойство во второе окно и передать значение через него во всю третью форму.
Итак, добавьте новоесвойство в ваших двух окнах (SecondWindow, ThirdWindow)
public string Name { get; set; }
Эти свойства хранят данные в течение всего времени их существования (до тех пор, пока они не будут закрыты).
Удаление обработки событий NameBox_TextChanged, потому что мы неэто не нужноДобавьте параметр свойства в событие нажатия кнопок
private void Button_Click(object sender, RoutedEventArgs e)
{
SecondWindow newWin = new SecondWindow();
newWin.Name = NameBox.Text; //Store value into SecondWindow variable
newWin.Show();
this.Close();
}
Теперь, когда SecondWindow является видимым (вызывается Show), у вас есть доступное значение имени в переменной Name, и вы должны иметь возможность скопировать это поведение для ThirdWindow.