我正在为《帝国时代2 DE》制作一个mod,我的目标是从新UI的目录中访问一个旧的纹理文件。文件结构如下:
C:Program Files (x86)SteamsteamappscommonAoE2DE
是包含exe的游戏文件夹。
AoE2DE/resources/_common/wpfg
是app.xaml
和ResourceDictionary源所在的位置。
现在我正试图访问这个图像(来自wpfg
下的.xaml文件(:
AoE2DE/widgetui/textures/backgrounds/wide_default_background.dds
我试了以下几种,都不起作用。背景没有加载。
<Image Source="/../../../widgetui/textures/backgrounds/wide_default_background.dds" />
<Image Source="pack://siteoforigin:,,,../../../widgetui/textures/backgrounds/wide_default_background.dds" />
我还尝试在widgetui
下创建一个SystemResourcesOldTextures.xaml
文件,这样我就可以简单地编写
<Image Source="textures/backgrounds/wide_default_background.dds" />
并通过将该行添加到ResourceDictionary.MergedDictionaries
来将该文件包括在app.xaml
中
<ResourceDictionary Source="pack://siteoforigin:,,,../../../widgetui/SystemResourcesOldTextures.xaml" />
也没用。
在Source中设置绝对路径是可行的,但这并不实用,因为每个人的游戏路径可能不同。将资源复制到wpfg
中也不理想,因为mod大小会增加很多。
注:
- 由于这是一款游戏,我无法访问项目文件,也无法访问任何C#代码。我无法编译。我只能编辑XAML文件并重新启动游戏进行验证
- 我看到有人问过类似的问题,但没有人能回答我的问题。我要访问的映像没有关联的项目/程序集
你可以试试这篇文章在xaml 中无法引用具有相对路径的图像源
<Image Source="pack://siteoforigin:,,,/../../../widgetui/textures/backgrounds/wide_default_background.dds" />