在运行时更改图像源的标准方式

本文关键字:标准 方式 图像 运行时 | 更新日期: 2023-09-27 18:27:47

我正在制作一款非常简单的Kinect游戏,但遇到了WPF问题。我的窗户只是有一个很大的图像。我有几张图片要在运行时绑定到该图像。

我确信我可以找到一种方法来实现它,但我想确保我遵循以这种方式使用图像资源的最佳实践。我对wpf很陌生(但对C#没问题),所以如果这是一个琐碎的问题,我很抱歉。

所以我的问题是:当想要定期更改WPF图像的来源时,最佳实践是什么?

谢谢!

在运行时更改图像源的标准方式

        var open = new System.Windows.Forms.OpenFileDialog { Multiselect = false };
        if (open.ShowDialog() == System.Windows.Forms.DialogResult.OK)
        {
            FileInfo fi = new FileInfo(open.FileName);
            try
            {
                imgBack.Source = new BitmapImage(new Uri(fi.FullName));
            }
            catch (Exception)
            {
                imgBack.Source = new BitmapImage(new Uri(App.DefaultBackImgPath));
            }
            ImageBrush brush = new ImageBrush();
            brush.ImageSource = imgBack.Source;
            System.Windows.Application.Current.Resources["BackBrush"] = brush;
         }