Загрузка внешнего изображения через XAML кодирует в WPF?

У меня есть изображение lock.png около моего EXE-файла WPF в images папка. Теперь, я собираюсь загружать его в Проект WPF как изображение, я использовал следующий код XAML:

<Image Stretch="Fill" Source="pack://siteoforigin:,,,/images/lock.png" />

Это работает, но Expression Blend или Visual Studio не показывает его, когда я работаю над проектом.
Как мы можем показать внешние изображения в этих ситуациях?

9
задан Mohammad Dayyan 18 April 2010 в 12:32
поделиться

3 ответа

Является ли ваша основная среда IDE Visual Studio? { {1}} Если да, то почему это руководство? В окне «Свойства» вы можете просто выбрать способ изображения, которое хотите использовать с компонентом «Изображение»

-1
ответ дан 4 December 2019 в 21:09
поделиться

Если изображение относится к вашему местоположению EXE, просто сделайте

<Image Source="Images\lock.png" />

Если изображение не относительное, тогда у вас большая проблема. Синтаксис pack полезен только в том случае, если вы действительно «упаковываете» ресурс в свою сборку.

Проблема с незакрепленными изображениями и Blend заключается в том, что Blend размещает ваш исполняемый файл во временном каталоге, которым он управляет, и ищет изображения относительно этого временного каталога, что может испортить любой путь, от которого вы зависите.

1
ответ дан 4 December 2019 в 21:09
поделиться

Попробуйте загрузить изображение динамически. Это должно быть на xaml:

<Image Stretch="Fill" Name="MyImage" />

И это в коде позади. В Window_Loaded или в конструкторе Window:

if (File.Exists(AppDomain.CurrentDomain.BaseDirectory + "images/lock.png"))
            {
                Uri uri = new Uri(AppDomain.CurrentDomain.BaseDirectory + "images/lock.png", UriKind.RelativeOrAbsolute);
                MyImage.Source = BitmapFrame.Create(uri);
            }
5
ответ дан 4 December 2019 в 21:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: