В настоящее время у меня есть это в MainWindow.xaml:
<Image Name="LogoImage" />
И это в MainWindow.xaml.cs:
public ImageSource LogoImageSource { get; set; }
....
var rm = new ResourceManager("Project.Properties.Resources", GetType().Assembly);
var logoBmp = (Bitmap) rm.GetObject("CompanyLogo");
if (logoBmp != null)
{
var hBitmap = logoBmp.GetHbitmap();
ImageSource src =
Imaging.CreateBitmapSourceFromHBitmap(
hBitmap,
IntPtr.Zero,
Int32Rect.Empty,
BitmapSizeOptions.FromEmptyOptions());
LogoImageSource = src;
}
var logoBinding = new Binding("LogoImageSource");
logoBinding.Source = this;
LogoImage.SetBinding(System.Windows.Controls.Image.SourceProperty, logoBinding);
Я делаю это таким образом, потому что мне нравится хранить изображения в качестве встроенных ресурсов, чтобы не было случайных файлов, попадающих в каталог установки пользователя.
Но как мне управлять связыванием изображения (последние 3 строки кода) из XAML, а не из C #?
Или, если у кого-то есть сведения о том, как они управляют ресурсами изображений, поделитесь со мной.