У меня есть изображение lock.png
около моего EXE-файла WPF в images
папка. Теперь, я собираюсь загружать его в Проект WPF как изображение, я использовал следующий код XAML:
<Image Stretch="Fill" Source="pack://siteoforigin:,,,/images/lock.png" />
Это работает, но Expression Blend
или Visual Studio
не показывает его, когда я работаю над проектом.
Как мы можем показать внешние изображения в этих ситуациях?
Является ли ваша основная среда IDE Visual Studio? { {1}} Если да, то почему это руководство? В окне «Свойства» вы можете просто выбрать способ изображения, которое хотите использовать с компонентом «Изображение»
Если изображение относится к вашему местоположению EXE, просто сделайте
<Image Source="Images\lock.png" />
Если изображение не относительное, тогда у вас большая проблема. Синтаксис pack полезен только в том случае, если вы действительно «упаковываете» ресурс в свою сборку.
Проблема с незакрепленными изображениями и Blend заключается в том, что Blend размещает ваш исполняемый файл во временном каталоге, которым он управляет, и ищет изображения относительно этого временного каталога, что может испортить любой путь, от которого вы зависите.
Попробуйте загрузить изображение динамически. Это должно быть на 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);
}