将 wpf xaml 图像绑定到 System.Windows.Controls.Image 无效

Binding a wpf xaml image to System.Windows.Controls.Image is not working

我在 wpf 应用程序中有一个图像并将其源 属性 绑定到视图模型中的 System.Windows.Controls.Image 但它不起作用。但是当我将其 Source 属性 绑定到 BitmapImage 时,它​​正在工作。有什么方法可以将 Source 属性 绑定为 System.Windows.Controls.Image 吗?

Xaml部分

  <Image x:Name="ShipMainImage" Source="{Binding MainImageSource}" />

查看模型部分

 public class StabilityVM : INotifyPropertyChanged {
    private System.Windows.Controls.Image mainImageSource;

    public System.Windows.Controls.Image MainImageSource
    {
        get { return mainImageSource; }
        set {
            mainImageSource = value;
            OnPropertyChanged(nameof(MainImageSource)); }
    }

 protected virtual void OnPropertyChanged(string propertyName = null)
    {
        PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
    }

   public event PropertyChangedEventHandler PropertyChanged;

}

不要使用 System.Windows.Controls.Image 作为 属性 的类型。它是一种在视图中使用但不在视图模型中使用的 UI 元素类型。

将 属性 声明为 System.Windows.Media.ImageSource - 图片元素的 Source 属性 类型:

private ImageSource mainImageSource;

public ImageSource MainImageSource
{
    get { return mainImageSource; }
    set
    {
        mainImageSource = value;
        OnPropertyChanged(nameof(MainImageSource));
    }
}