Привязка образа wpf xaml к System. Windows .Controls.Image не работает - PullRequest
0 голосов
/ 11 июля 2020

У меня есть изображение в приложении wpf, и я привязываю его свойство Source к System. Windows .Controls.Image в модели представления, но оно не работает. Но когда я привязываю его свойство Source к BitmapImage, он работает. Есть ли способ привязать свойство Source как System. Windows .Controls.Image?

Xaml Part

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

Просмотр модели Part

 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;

}

1 Ответ

0 голосов
/ 11 июля 2020

Не используйте System.Windows.Controls.Image как тип этого свойства. Это тип элемента пользовательского интерфейса, который используется в представлении, но не в модели представления.

Объявите свойство как System.Windows.Media.ImageSource - тип свойства Source элемента Image:

private ImageSource mainImageSource;

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