wpf更改图像源

时间:2009-09-02 15:53:27

标签: wpf .net-3.5 imagesource

我知道这是一个简单的问题,但我无法弄明白或在任何地方找到答案。我只是想在使用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;

2 个答案:

答案 0 :(得分:1)

您需要初始化BitmapImage。 正确的代码如下:

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

那应该可以帮到你。

答案 1 :(得分:0)

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