В моем MainWindow.xaml.cs я открываю новую страницу (PkmnSelect), используя это:
PkmnSelect pkmnSelect = new PkmnSelect();
Content = pkmnSelect;
Затем, когда пользователь выбрал свою команду покемонов на этой странице (PkmnSelect), онможете нажать Пуск.Кнопка «Пуск» имеет следующий код:
Battle battle = new Battle(userPokemon, opponentPokemon);
Content = battle;
Battle - это страница, которую я хочу использовать в качестве входных данных для двух покемонов [], поэтому я создал дополнительный конструктор в Battle, который выглядит следующим образом:
public Battle(Pokemon[] userPkmn, Pokemon[] opponentPkmn) : this()
{
userPokemon = userPkmn;
opponentPokemon = opponentPkmn;
}
Это дает мне сообщение об ошибке «Страница может иметь только окно или фрейм в качестве родителя».
Мой вопрос: как правильно передавать значения с одной страницы на другую?Я смотрел везде, и ничего, что я пробовал, не сработало.
РЕДАКТИРОВАТЬ: начало Battle.xaml.cs:
public partial class Battle : Page
{
Pokemon[] userPokemon;
Pokemon[] opponentPokemon;
public Battle()
{
InitializeComponent();
//Some code to hide some xaml stuff and start some music
}
public Battle(Pokemon[] userPkmn, Pokemon[] opponentPkmn) : this()
{
userPokemon = userPkmn;
opponentPokemon = opponentPkmn;
}