1

我知道这是一个简单的问题,但我无法弄清楚或在任何地方找到答案。我只是想在运行时使用 C# 在 WPF 中更改图像源。每当代码运行时,它只是删除 1.gif 并有一个空白的白色框,而不是显示 2.gif。提前致谢。

XAML:

<Image x:Name="img" Height="150" Margin="142,20,138,0" VerticalAlignment="Top">
        <Image.Source>
            <BitmapImage UriSource="C:\Users\John\1.gif" />
        </Image.Source>
</Image>

C#:

string sUri = @"C:\Users\John\2.gif";
Uri src = new Uri(sUri, UriKind.RelativeOrAbsolute);
BitmapImage bmp = new BitmapImage(src);
img.Source = bmp;
4

2 回答 2

1

您需要初始化 BitmapImage。正确的代码类似于:

BitmapImage bmp = new BitmapImage(src);
bmp.BeginInit();
bmp.EndInit();

那应该会给你你的形象。

于 2009-09-03T04:26:06.577 回答
0

首先明确的问题:您确定图像 2.gif 确实存在,并且当您将其设置为 img 的源时,BitmapImage 不为空?

于 2009-09-03T00:49:48.600 回答