C# 如何绑定到静态位图源?
我想用标准的Windows“错误图标”创建自定义错误/异常对话框 我听从了他的建议,效果很好 但是,我当前正在创建一个绑定到的实例属性,就像任何属性一样:C# 如何绑定到静态位图源?,c#,wpf,xaml,wpf-4.5,C#,Wpf,Xaml,Wpf 4.5,我想用标准的Windows“错误图标”创建自定义错误/异常对话框 我听从了他的建议,效果很好 但是,我当前正在创建一个绑定到的实例属性,就像任何属性一样: class ErrorWindowViewModel { private readonly ImageSource _errorImage; public ImageSource ErrorImage { get { return _errorImage; } } public ErrorWindowViewMod
class ErrorWindowViewModel
{
private readonly ImageSource _errorImage;
public ImageSource ErrorImage { get { return _errorImage; } }
public ErrorWindowViewModel()
{
_errorImage = Imaging.CreateBitmapSourceFromHIcon(SystemIcons.Error.Handle, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
}
}
我想做的是在ErrorWindow类中定义一个静态字段:
partial class ErrorWindow : Window
{
private readonly static ImageSource ErrorImage =
Imaging.CreateBitmapSourceFromHIcon(SystemIcons.Error.Handle, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
}
我无法强制我的XAML引用该字段
<Image Source="what_to_put_here_to_make_it_work" />
我使用的是WPF 4.5。您必须创建一个静态属性
private static readonly ImageSource errorImage =
Imaging.CreateBitmapSourceFromHIcon(SystemIcons.Error.Handle, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions());
public static ImageSource ErrorImage
{
get { return errorImage; }
}
然后像这样捆绑:
<Image Source="{Binding Source={x:Static local:ErrorWindow.ErrorImage}}"/>