当我使用“编辑副本”覆盖混合中的标准WPF控件的默认样式/ controltemplate而不修改它(只创建if的本地副本)时,这是否会破坏它们一些场景?换句话说,不同的主题是否为标准控件提供了不同的controltemplate和/或styledefinitions?如何确保我的样式/控件模板尊重它们?
答案 0 :(得分:0)
是的,这打破了主题;
是的,不同的主题提供不同的控件样式。如果你有MS Blend,你可以在Blend的文件夹中找到它们(例如在C:\ Program Files \ Microsoft Expression \ Blend 3 \ SystemThemes \ Wpf中)
为了尊重主题,您还应该为每个主题创建一个样式用于您的控件。自定义控件和主题支持有many resources。仅举一例:WPF: Changing control style based on the system theme
答案 1 :(得分:0)
作为开发人员,您希望根据其功能创建控件。到处使用默认控件样式。然后让专业人士处理它的图形设计方面。如果你覆盖控件的ControlTemplate,你就已经忙于主题了。
如果您使用ControlTemplates进行捣乱,请尝试使用标准方法,否则一旦图形设计师开始处理该应用程序,他/她就会向您发誓:)
主题是针对个别控件的样式集合,并重新定义了它们的外观。您提供ControlTemplate的任何Control都将不会应用它或与主题包不一致(取决于您是通过x访问主题:名称还是按类型)
如果覆盖DataTemplates,则可以。你可以安全地做到这一点,而不必担心干扰。