我想使用标准Windows“错误图标”创建自定义错误/异常对话框。
我按照this question的建议行事。
但是我正在创建一个我绑定的实例属性,就像任何属性一样:
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。
答案 0 :(得分:3)
您必须创建一个静态属性
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}}"/>