Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何绑定到静态位图源?_C#_Wpf_Xaml_Wpf 4.5 - Fatal编程技术网

C# 如何绑定到静态位图源?

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

我想用标准的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。

您必须创建一个静态属性

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}}"/>