Я занимаюсь разработкой для Windows Phone 7 и столкнулся с небольшой проблемой при использовании Guide.BeginShowMessageBox
и Guide.BeginShowKeyboardInput
.После появления окна сообщения приложение иногда завершает работу с ошибкой:
«Для выполнения операций рисования на устройстве должны быть установлены как вершинный, так и пиксельный шейдеры».
странно то, что кажется, что он вылетает, когда окно сообщения видно, но у меня есть следующая проверка перед моими методами update и draw в моем классе Game:
protected override void Update(GameTime gameTime) {
if (IsActive && !Guide.IsVisible) {
//Update stuff here
}
base.Update(gameTime);
}
protected override void Draw(GameTime gameTime) {
if (IsActive && !Guide.IsVisible) {
//Draw stuff here
}
base.Draw(gameTime);
}
Ошибка определенно, кажется, происходит внутрихотя мой //Draw stuff here
метод.И это, кажется, не каждый раз.Только после примерно четвертого окна сообщения это происходит.
Можно ли перед рисованием сказать, не установлены ли вершинный шейдер или пиксельный шейдер?Я использую объект BasicEffect
для рисования.