0
    public MainWindow()
    {
        InitializeComponent();

        BitmapImage b = new BitmapImage(new Uri("Images/SampleImage.png", UriKind.Relative));
        //PixelFormat f = b.Format;         // throws DirectoryNotFoundException
        image.Source = b;
        PixelFormat f = b.Format;           // OK
    }

PixelFormat属性抛出异常,如果在行之前调用image.Source = b;。但如果在此行之后调用它会成功。为什么会发生这种情况?如果我不想将此位图设置为image.Source,只想在程序中使用此对象,我可以做什么?

Visual Studio 2012,Windows 8,C# WPF 项目。Images/SampleImage.png 是资源文件,它显示在 Image 控件中。

4

1 回答 1

1

这有效

BitmapImage b = new BitmapImage(new Uri("pack://application:,,,/YourApplicationName;component/Images/SampleImage.png"));
PixelFormat f = b.Format;
于 2013-08-13T12:31:37.043 回答