2

我想用标准的 Windows“错误图标”创建我的自定义错误/异常对话框。

我遵循了这个问题的建议并且它有效。

但是,我目前正在创建一个绑定到的实例属性,就像绑定到任何属性一样:

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。

4

1 回答 1

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}}"/>
于 2013-02-22T21:45:43.050 回答