Вы можете привязать свои изображения напрямую, используя конвертер. Вот пример в окне:
<Window.Resources>
<WinForms2WPFImageConverter x:Key="WF2WPFDrawingConverter" />
</Window.Resources>
...
Этот вопрос SO имеет конвертер чертежей, который я адаптировал здесь как ValueConverter.
public class WinForms2WPFImageConverter : IValueConverter {
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
System.Drawing.Image i = (System.Drawing.Image) value;
using (MemoryStream drawingStream = new MemoryStream())
{
i.Save(drawingStream);
i.Seek(0, SeekOrigin.Begin);
return System.Windows.Media.Imaging.BitmapFrame.Create(drawingStream);
}
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new InvalidOperationException();
}
}
Конечно, вам необходимо учитывать пространства имен в объявлении ресурса.
Советую не использовать статические свойства, чтобы использовать INotifyPropertyChanged (или свойства зависимостей), чтобы отображение автоматически изменялось, когда свойства указывают на другие изображения.
(примечание: это было напечатано, а не скопировано из VS, поэтому где-то может быть синтаксическая ошибка.)