如何在运行时将图像加载到 WPF 中?

8 浏览
0 Comments

如何在运行时将图像加载到 WPF 中?

似乎在运行时将图像加载到WPF窗口中相当复杂。

Image image;
image = new Uri("Bilder/sas.png", UriKind.Relative);
????.Source = new BitmapImage(image);

我正在尝试这段代码,但我需要一些帮助使其正常工作。代码下方有一些红线!我还想知道是否需要在XAML代码中添加一些额外的代码,或者只需这样就足够了:


我想知道这一点,因为我在XAML标签中看到了一些将图像引用作为源的示例。

编辑:

我现在正在使用以下代码:

var uri = new Uri("pack://application:,,,/sas.png");
var bitmap = new BitmapImage(uri);
image1.Source = bitmap;

XAML代码如下:


    
    

编辑2:

我的问题已经解决,以下代码运行正常:

BitmapImage image = new BitmapImage(
    new Uri("pack://application:,,,/Resources/" + company + ".png"));
image2.Source = image;

0
0 Comments

在WPF中,图像通常是从流或URI加载的。BitmapImage同时支持这两种方式,URI甚至可以作为构造函数参数。当图像文件位于本地文件夹中时,必须使用file:// URI。可以通过路径创建此类URI。如果图像文件是程序集资源,则URI必须遵循Pack URI方案。创建了BitmapImage并拥有一个Image控件后,只需将BitmapImage分配给该Image控件的Source属性即可。

然而,有时会出现加载图像的问题。例如,如果图像文件位于bin/Debug文件夹中,而不是项目中,则无法加载图像。另外,XAML代码中的命名问题也可能导致加载失败。此外,有时会出现URI前缀无法识别的错误。

为了解决这些问题,需要将图像文件放在项目中,并将Build Action设置为Resource。另外,需要确保XAML中的命名与代码中的命名一致。如果出现URI前缀无法识别的错误,则需要检查URI是否正确。

总结起来,加载图像到WPF中需要注意图像文件的位置、URI的正确性以及XAML中的命名问题。只有在这些方面都正确无误时,才能成功加载图像。

0
0 Comments

文章标题:如何在WPF中动态加载图像?

问题原因:在加载图像到WPF中时,可能会遇到以下问题:

1. 图像未被正确标记为“Build Action: Content”和“Copy To Output Directory: Copy Always”;

2. 图像路径未正确设置。

解决方法:有几种不同的方法可以在WPF中动态加载图像:

1. 使用C#代码动态加载图像:

Image image = new Image();
image.Source = (new ImageSourceConverter()).ConvertFromString("pack://application:,,,/Bilder/sas.png") as ImageSource;

2. 使用XAML绑定动态加载图像:


其中,MyImage.DataContext是图像路径。

3. 使用文件夹中的不同图像:

如果想在运行时加载不同的图像,可以通过以下步骤实现:

- 将所有图像保存在Bin/Debug文件夹中;

- 在创建WPF窗口对象时,传递不同的图像路径;

- 使用C#代码将图像动态加载到窗口中。

在WPF中,可以使用不同的方法动态加载图像,包括使用C#代码和XAML绑定。如果需要在运行时加载不同的图像,可以通过传递不同的图像路径来实现。以上方法可以帮助解决在WPF中加载图像的问题。

0