WPF ShowDialog не отображает диалог - PullRequest
2 голосов
/ 15 августа 2010

У меня есть приложение WPF, которое в основном работает просто отлично.Однако несколько человек сообщили, что когда они нажимают кнопку просмотра, ничего не происходит.Код для этого кажется довольно простым:

    private void btnBrowseFile_Click(object sender, RoutedEventArgs e)
    {
        Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog();
        dlg.Filter = "Supported Types (*.xml)|*.xml"; 
        Nullable<bool> result = dlg.ShowDialog();
        if (result == true)
        {   

Среда - Windows 7, .Net 3.5 SP1, один монитор.Видимо, исключений не возникает, и приложение не зависает.OpenFileDialog просто не появляется.

Есть идеи?

Спасибо,

Барри

1 Ответ

1 голос
/ 15 августа 2010

Не совсем решение, но идея:

Попробуйте использовать ShowDialog(Window) -подпись.У меня никогда не было проблем, как вы описали, и я всегда использую упомянутую подпись.Возможно, есть проблема с автоматическим определением владельца.

Microsoft.Win32.OpenFileDialog dlg = new Microsoft.Win32.OpenFileDialog(); 
        dlg.Filter = "Supported Types (*.xml)|*.xml";  
        Nullable<bool> result = dlg.ShowDialog(Window.GetWindow(this)); 
        if (result == true) 
        {  

Другой вариант - использовать диалоговое окно Win-Forms.Однако это имеет недостаток загрузки соответствующей сборки.Но если вы не откроете диалог при запуске приложения, я думаю, что это не должно быть большой проблемой.

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

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