При загрузке игры окно, которое должно запрашивать и отображать вопросы с сервера, окно отображается пустым. Ошибок компиляции или исключений времени выполнения нет, и у меня при нажатии на свернутое окно на панели задач оно не открывается.
Код: Выделить всё
public GameQuestionWindow(Communicator communicator, MenuWindow menu, int timePerQuestion, int questionsLeft, Window prevWindow)
{
this.Show();
InitializeComponent();
prevWindow.Close();
m_communicator = communicator;
m_questionsLeft = questionsLeft;
m_menuWindow = menu;
m_mediaPlayer = new MediaPlayer();
m_mediaPlayer.Open(new Uri("pack://application:,,,/Client;component/Audio/tick.mp3"));
time = TimeSpan.FromSeconds(timePerQuestion);
timer = new DispatcherTimer();
gameLoop();
}
Вот как создается окно:
Код: Выделить всё
if (serverResp.getCode() == 150)
{
shouldStop = true;
GameQuestionWindow window = new GameQuestionWindow(this.communicator, this.menuWindow, answerTimeout, answerAmount, this);
}
Код: Выделить всё
shouldStop
Я не могу поместить window.Show() после конструктора, поскольку вся игровая логика выполняется в основном потоке из конструктора, как показано ранее, то есть, если Show () вызывается после возврата конструктора, это произойдет только после завершения игры, если окно вызова не закроется до этого, как это и есть.
В визуальном элементе Studio XAML Designer, окно игры отображается без проблем.
Окно, показанное перед игрой
[img]https:/ /i.sstatic.net/26PzlWuM.png[/img]
Пустое окно игры
[img]https://i .sstatic.net/ZG142mSb.png[/img]
Подробнее здесь: https://stackoverflow.com/questions/786 ... using-show