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 に答える