Member 13230757 Ответов: 3

Загрузка изображения с помощью openfiledialog. (В WPF)


Я хочу загрузить изображение с OFD, и это не работает. Вот код C# :


Это дает мне ошибку в этой строке, если (op. ShowDialog () = = true) Ошибка оператора '==' не может применяться к операндам типа 'значение dialogresult' и 'bool'.
Пожалуйста помочь.

Что я уже пробовал:

private void Button_add_Click(object sender, RoutedEventArgs e) {
        {
            OpenFileDialog op = new OpenFileDialog();
            op.Title = "Select a picture";
            op.Filter = "JPEG Files (*.jpeg)|*.jpeg|PNG Files (*.png)|*.png|JPG Files (*.jpg)|*.jpg|GIF Files (*.gif)|*.gif";
            if (op.ShowDialog() == true)
            {
                Image1.Source = new BitmapImage(new Uri(op.FileName));
            }

        }

3 Ответов

Рейтинг:
2

Dave Kreskowiak

Как Ричард указал вам, читайте документацию!

Метод ShowDialog () не возвращает логическое значение. Он возвращает значение перечисления DialogResult.

Вы могли бы решить эту проблему сами за считанные секунды, если бы просто прочитали документацию, чтобы увидеть, что возвращает ShowDialog ().


Рейтинг:
2

TheRealSteveJudge

Существует две разные версии OpenFileDialog.

Один из них принадлежит системе пространств имен.Окна.Формы.
https://msdn.microsoft.com/en-us/library/e61ft40c(v=против 110). aspx

Другой принадлежит пространству имен Microsoft. Win32.
https://msdn.microsoft.com/en-us/library/ms614336(v=против 110). aspx

Взгляните на сеанс использования поверх вашего исходного кода.
Я уверен, что у вас есть система ссылок.Окна.Формы.

Для того, чтобы сравнить возвращаемое значение из метода showdialog, допускающего значение null типа bool
вы должны заменить
использование системы.Окна.Формы
около
использование Microsoft. Win32

Убедитесь, что вы добавили соответствующую ссылку.