我目前正在尝试使用以下代码在我的Xaml中显示设计时间的图像:
XAML:
<Canvas Grid.ColumnSpan="2" Margin="0,0,0,0">
<Image Canvas.ZIndex="1" Source="{Binding Coupon.OverlayImage}" Margin="0,-21,-76,108" Stretch="Fill" x:Name="PrintImageContextMenu" />
</Canvas>
C#设计时间:
Coupon.OverlayImage = Image.FromFile(@"C:\Temp\Images\TestImage.png");
VB中的OverlayImage的原始属性(遗留代码):
private _overlayImage as Image
Public Property OverlayImage As Image
Get
Return _overlayImage
End Get
Set
_overlayImage = value
NotifyPropertyChanged("OverlayImage")
End Set
End Property
在第一次查看时,我看不到任何错误,但即使在运行时也没有显示.任何想法,将不胜感激.
最佳答案 你使用Image类的所有地方,我认为你使用System.Drawing.Image,因为WPF Image控件没有FromFile()方法.您不能将其用作WPF图像控件的源.您必须尝试使用IValueConverter将Image转换为BitmapSource / ImageSource.