У меня есть следующий код для запуска внешнего приложения. Когда я нажимаю кнопку, мне нужно сделать так, чтобы страница была серой, чтобы я сделал прямоугольник уже на странице видимым и полноэкранным.
private void uxOfficeApps_Click(object sender, RoutedEventArgs e)
{
Rectangle rect = FindChild<Rectangle>(ParentWindow, "rectangle1");
rect.Height = _basePage.SCREEN_RESOLUTION_HEIGHT;
rect.Width = _basePage.SCREEN_RESOLUTION_WIDTH;
rect.Visibility = Visibility.Visible;
string executablePath = _basePage.PATH_OFFICE;
executable = new Process();
executable.StartInfo.FileName = executablePath;
executable.Start();
executable.EnableRaisingEvents = true;
executable.Exited += new EventHandler(officeApps_Exited);
executable.WaitForExit();
}
Работает нормально, и приложение ждет и возвращает, когда мое внешнее приложение закрыто, однако прямоугольник отображается только при выполнении завершенного события officeApp_Exited, а не до того, как оно было загружено, как мне хотелось бы. (экран не обновляется)
событие выхода -
void officeApps_Exited(object sender, EventArgs e)
{
MessageBox.Show("I am back");
// do further processing
}
Видимость не работает.
Однако это работает, когда я помещаю MessageBox.Show («Предупреждение») между отображением прямоугольника и созданием объекта процесса.
Кто-нибудь знает почему ??? Пожалуйста, помогите