You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WPF移动Themes文件夹后自定义控件Style未生效问题求助

问题根因

WPF 自定义无外观控件的默认样式有约定的加载路径,默认会从程序集根目录下的Themes/Generic.xaml读取资源,你把Themes文件夹移动到NewFolder1子目录后,WPF 默认找不到对应的资源文件,所以样式不会生效。

可用解决方案

  • 方案1(无需改程序集配置,最便捷):在App.xaml中手动合并移动后的资源字典
    打开项目的App.xaml文件,添加如下配置:
<Application.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            <ResourceDictionary Source="/NewFolder1/Themes/Generic.xaml" />
        </ResourceDictionary.MergedDictionaries>
    </ResourceDictionary>
</Application.Resources>
  • 方案2(遵循WPF资源查找逻辑):修改程序集的ThemeInfo配置指定资源路径
    打开项目下Properties文件夹中的AssemblyInfo.cs,找到ThemeInfo特性,修改配置如下:
[assembly: ThemeInfo(
    ResourceDictionaryLocation.None,
    ResourceDictionaryLocation.SourceAssembly,
    "/NewFolder1/Themes"
)]

该配置会告知WPF到指定的子目录下查找Generic.xaml资源文件。

  • 方案3(零配置,最推荐):将Themes文件夹移回项目根目录
    这是WPF的默认约定路径,遵循约定可以避免后续自定义控件相关的资源加载问题,不需要额外做任何配置即可正常加载样式。

内容的提问来源于stack exchange,提问作者StephenH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 07:54:02