Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WPF, Silverlight Новый топик    Ответить
 Не закрывается процес  [new]
Супер_Пав
Member

Откуда: Москва
Сообщений: 404
Создал пустой проект, WPF Application. В нем по умолчанию создается форма. Я ее называю MainWindow. Вызов ее идет из App.xaml:
<Application x:Class="WpfTestApplication.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             StartupUri="MainWindow.xaml"/>

В MainWindow кладу кнопку одну, и подписываюсь на событие клика:
<Window x:Class="WpfTestApplication.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="MainWindow" Height="350" Width="525">
    <Grid>
        <Button Width="75" Height="24" Click="ButtonBase_OnClick"/>
    </Grid>
</Window>

Далее добавляю в проект ещё 1 форму TestWindow. Она полностью пустая:
<Window x:Class="WpfTestApplication.TestWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Title="TestWindow" Height="300" Width="300"/>

В обработчике кнопки на 1й форме, делаю так:
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
    var wnd = new TestWindow();
    //wnd.Close();
    //wnd.ShowDialog();
}

Запускаю, нажимаю клик, затем закрываю MainWindow, процесс висит, не закрывается. Если снять комментарий с wnd.ShowDialog(), то появляется форма TestWindow, ее закрываем, потом MainWindow, процесс закрывается. Если снять коммент с wnd.Close(), ничего не появляется, ошибок нет, закрываем главную форму - ок.
У кого-нибудь есть идеи, почему так?
9 сен 15, 19:07    [18129879]     Ответить | Цитировать Сообщить модератору
 Re: Не закрывается процес  [new]
bazile
Member

Откуда:
Сообщений: 3082
Супер_Пав, потому что Application.ShutdownMode по умолчанию равен OnLastWindowClose и с точки зрения окно TestWindow все еще открыто. Нужно закрывать его или присвоить ShutdownMode другое значение. Например OnMainWindowClose.
10 сен 15, 10:55    [18131555]     Ответить | Цитировать Сообщить модератору
 Re: Не закрывается процес  [new]
Супер_Пав
Member

Откуда: Москва
Сообщений: 404
bazile, вау. Мне кажется это треш. Спасибо, не знал. Проверю сейчас
10 сен 15, 11:56    [18131887]     Ответить | Цитировать Сообщить модератору
Все форумы / WPF, Silverlight Ответить