首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >自定义控件样式无法工作(通过Generic.xaml)

自定义控件样式无法工作(通过Generic.xaml)
EN

Stack Overflow用户
提问于 2017-01-02 17:12:03
回答 1查看 1K关注 0票数 0

对于外部自定义控件libary项目中的标准WPF控件和自定义控件,我有几种样式和模板。对于每个控件,我的\Themes文件夹中都有一个\Themes,还有一个包含所有其他XAML文件的合并字典的Generic.xaml

我确保:

  • Generic.xaml位于项目根目录中的Themes\文件夹中。
  • Generic.xaml有一个Page的构建操作。
  • Generic.xaml使用自定义工具标志MSBuild:Compile
  • 外部库声明了以下行:[assembly: ThemeInfo(ResourceDictionaryLocation.None, ResourceDictionaryLocation.SourceAssembly)]

我试过的是:

资料来源

  • Source="MyControl.xaml"
  • Source="/MyLibrary;component/Themes/MyControl.xaml"
  • Source="/MyLibrary;component/Themes/MyControl.xaml"
  • Source="/pack://application:,,,/Themes/MyControl.xaml"
  • Source="/pack://application:,,,/MyLibrary;component/Themes/MyControl.xaml"

应用程序

  • 使用所有可能的源声明手动引用我的应用程序中的Generic.xaml

但是,什么也不起作用。应用程序保持完全非主题化,尽管我可以看到在访问Application.Current.Resources时已经加载了所有字典。

还值得注意的是,我的大多数控制主题包含额外的动态资源(用于颜色等),这些资源在应用程序启动时手动加载。

我似乎正面临着与OP in this question here完全相同的问题,但是他们说手动引用Generic.xaml对他们是有效的。

EN

回答 1

Stack Overflow用户

发布于 2017-01-03 21:36:38

是否在静态构造函数中定义了以下代码?

DefaultStyleKeyProperty.OverrideMetadata (YourCustomClass),new FrameworkPropertyMetadata (FrameworkPropertyMetadata(YourCustomClass));

不要在资源字典中使用x:key ="style_name“

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41430754

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档