WPF отображает белое пустое окно при использовании Show()C#

Место общения программистов C#
Ответить
Anonymous
 WPF отображает белое пустое окно при использовании Show()

Сообщение Anonymous »

Я работаю над игрой в стиле викторины кахут, где клиент основан на платформе WPF (привет всем студентам магшимим с той же проблемой)
При загрузке игры окно, которое должно запрашивать и отображать вопросы с сервера, окно отображается пустым. Ошибок компиляции или исключений времени выполнения нет, и у меня при нажатии на свернутое окно на панели задач оно не открывается.

Код: Выделить всё

        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();
}
Я пробовал выполнить this.Show() вместо этого после инициализации или использовать ShowDialog(), но проблема с последним заключается в том, что ни одна из логики фоновой игры выполняется и поток останавливается, а окно снова пустое.
Вот как создается окно:

Код: Выделить всё

            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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»