gpt4 book ai didi

c# - 以编程方式将图像添加到 StackPanel

转载 作者:太空狗 更新时间:2023-10-29 17:38:23 26 4
gpt4 key购买 nike

我正在尝试以编程方式生成 StackPanel 并将 Image 添加到 StackPanel。不知何故,我得到了一个空的 StackPanel。我没有发现我的代码有任何问题,也没有抛出任何异常:

StackPanel Sp = new StackPanel();
Sp.Orientation = Orientation.Horizontal;

Image Img = new Image();
BitmapImage BitImg = new BitmapImage(new Uri(
"/MyProject;component/Images/image1.png", UriKind.Relative));
Img.Source = BitImg;

Sp.Children.Add(Img);

[编辑]

我尝试了另一种添加图像的方法,它起作用了。这让我很感兴趣,因为在我看来它们本质上是同一件事:

以下代码有效(显示图像):

Image Img = new Image();
Img.Source = new BitmapImage(new Uri(
"pack://application:,,,/MyProject;component/Images/image1.png"));

以下代码不起作用(缺少图像):

Image Img = new Image();
BitmapImage ImgSource = new BitmapImage(new Uri(
"pack://application:,,,/MyProject;component/Images/image1.png",
UriKind.Relative));
Img.Source = BitImg;

它们为什么不同??

最佳答案

Img.Source = new BitmapImage(new Uri(
"pack://application:,,,/MyProject;component/Images/image1.png"));

默认使用 UriKind.Absolute 而不是 UriKind.Relative

如果您希望用户 UriKind.Relative - URI 应该采用不同的格式。看看MSDN

关于c# - 以编程方式将图像添加到 StackPanel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6841148/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com