Получение «Невозможно установить Visibility или вызвать Show или ShowDialog после закрытия окна». После главного окна .ctor и Loaded - PullRequest
0 голосов
/ 22 апреля 2009

Привет всем, у меня возникла какая-то чокнутая проблема.

Для этого окна:

<Window x:Class="Host.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        WindowStyle="ToolWindow" Top="-5000" Left="-5000" Width="0" Height="0"
        ShowInTaskbar="False"
        Loaded="Window_Loaded"
        />

«Невозможно установить Visibility или вызвать Show или ShowDialog после закрытия окна». Исключение создается между .ctor и Window_Loaded. Это происходит только тогда, когда он работает автономно, а не с VS. .ctor выглядит следующим образом:

    public MainWindow()
    {
        InitializeComponent();
        MessageBox.Show("1");
    }

Исключение не возникает, когда MessageBox отсутствует, приложение просто закрывается сразу после запуска, если его там нет, но оно все равно не попадает в обработчик Window_Loaded. Он не выдает никаких исключений из моего кода, он приходит из приложения, пытающегося вызвать Window.VerifyCanShow () из PresentationFramework.dll.

Есть идеи?

Ответы [ 3 ]

1 голос
/ 22 апреля 2009

Из того исключения, которое вы разместили, как-то где-то окно закрывается. Я не могу сказать по коду, который вы опубликовали.

Как только окно было закрыто, вы должны перераспределить его, чтобы «показать» его снова. Вы можете скрыть это и затем показать это снова без проблем, все же. Я уверен, что для этого есть веская причина, но, черт побери, знаю. Во всяком случае, это то, о чем кричит исключение.

Это могут быть ваши левая и правая позиции, которые закрывают (-5000 пикселей) в сочетании с вашей шириной и высотой (0 пикселей).

0 голосов
/ 22 апреля 2009

Нет, вся проблема была в том, что я был действительно, очень глуп. Мой одноэлементный код видел, как VShost.exe работал, когда у меня была открытая VS, и убивал приложение.

0 голосов
/ 22 апреля 2009

Я подозреваю, что что-то не так с вашим Main методом. Обычно встречается в пределах Program.cs. Отправьте это, чтобы мы могли видеть, если там что-то не так.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...