将 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));
}
}
我在 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));
}
}