Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过单击按钮更新/替换WPF中的图像_C#_Wpf - Fatal编程技术网

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

C# 如何通过单击按钮更新/替换WPF中的图像,c#,wpf,C#,Wpf,因此,我有一个图像,当用户点击一个按钮时,它会将其更改为一个新项目。但是,每当用户单击其中一个按钮时,窗口将变为空白。我怎样才能让它工作?多谢各位 private void Next_Click(object sender, RoutedEventArgs e) { if (imageNumber > 6) { imageNumber = 1; } imageNumber++; string sUri = string.Format(

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

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


在WPF应用程序中,您也可以使用
执行相同的操作。”pack://application:,,/resources/imagename.png“

这条路叫。这是静态的,但使用这些代码,您可以使用相同的资源;)

将图像放入资源中

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);
}

只需在主窗口外制作一个图像

然后:


如果你问我,@看起来有点不对劲:“@不应该放在引号之前,使用逐字的字符串,避免逃避斜杠吗?你们中的一位英雄应该把它作为一个实际的答案,这样它才能被接受。”。
private void btn_Click(object sender, RoutedEventArgs e)
{
    this.Img.Source = ConvertBitmapToBitmapImage(Properties.Resources.iamge1);
}
myImageOnScreen.Source = myImageOffScreen.Source;