【问题标题】:Relative Resource Uri in WPF FormsWPF 表单中的相对资源 Uri
【发布时间】:2026-02-23 21:45:02
【问题描述】:

我正在寻找一种方法,在我将项目写入 cd 后,让我的所有资源文件都能正常工作。

例如,我将图像保存在 Project Name\Project Name\obj\Debug\Images 中,并且当我将该 cd 插入另一台机器时,我希望它们在 xaml 和常规 c# 代码中都可用。

感谢您的宝贵时间!

【问题讨论】:

  • 无论您是写入 CD 还是复制到您的 pendrive 或其他任何操作。如果您将图像保存为资源,它应该可以工作。检查thisthis
  • 我让它在 c# 中工作,但我在 xaml 中仍然遇到问题..
  • 请贴一些代码。有人能找出问题所在吗?在写入 CD 之前它是否在 xaml 中工作?

标签: c# wpf xaml relative-path


【解决方案1】:

对我有用的是,将 Image 类用于背景和重叠图像。

在 xaml 中,代码是 <Image x:Name="Image1" Source="..\obj\Debug\Images\image.jpg"/>

然后你在 c# 中使用

初始化它
public PageName()
        {
            InitializeComponent(); 
            Image1.Source = new BitmapImage(new Uri(@"../Images/cafeteria.jpg", UriKind.Relative));                        
        }

很遗憾,因为(至少在我的情况下)ImageBrush 类由于某种原因不支持相对 uris..

【讨论】: