如何在WPF中通过单击按钮更新/替换图像

本文关键字:更新 按钮 替换 图像 单击 WPF | 更新日期: 2023-09-27 17:54:13

所以我有一个图像,当用户单击一个按钮时,它会将其更改为一个新项目。但是,每当用户单击其中一个按钮时,窗口将变为空白。我怎样才能让它工作?谢谢你。

private void Next_Click(object sender, RoutedEventArgs e)
{
    if (imageNumber > 6)
    {
        imageNumber = 1;
    }
    imageNumber++;
    string sUri = string.Format("@/Resources/{0}", imageSource[imageNumber]);
    Uri src = new Uri(sUri, UriKind.Relative);
    var bmp = new BitmapImage(src);
    img.Source = bmp;            
}

xaml

<Image x:Name="img">
    <Image.Source>
        <BitmapImage UriSource="Resources/BlackJackTut-1.jpg" />
    </Image.Source>
</Image>

如何在WPF中通过单击按钮更新/替换图像

在WPF应用程序中,您也可以使用"pack://application:,,,/resources/imagename.png"
这种方式称为打包URI。这是静态的,但是使用这些代码你可以做同样的事情,甚至使用资源;)

把图片放到资源中。

private BitmapImage ConvertBitmapToBitmapImage(System.Drawing.Bitmap bitmap)
{
    MemoryStream memoryStream = new MemoryStream();
    bitmap.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png);
    BitmapImage bitmapImage = new BitmapImage();
    bitmapImage.BeginInit();
    bitmapImage.StreamSource = new MemoryStream(memoryStream.ToArray());
    bitmapImage.EndInit();
    return bitmapImage;
}

,然后使用:

private void btn_Click(object sender, RoutedEventArgs e)
{
    this.Img.Source = ConvertBitmapToBitmapImage(Properties.Resources.iamge1);
}

在主窗口外创建一个图像。

:

myImageOnScreen.Source = myImageOffScreen.Source;