如何覆盖 Blend 中的默认 WinUI 2.x 样式?

How to override default WinUI 2.x styles in Blend?

我问过在哪里可以找到 WinUI 2.x 控件的默认样式,并被指向 GitHub 中可以找到这些默认样式的相应存储库。谢谢!然而,我真正想要的是能够覆盖一些样式。我期待我能够在 Blend 中这样做,但我一直无法弄清楚如何做到这一点。

例如,当我在 Blend 中加载我的项目然后尝试编辑 ContentDialog 的模板时,我可以选择应用现有样式,但不能创建新样式。我期待我可以创建一个副本,它将给我默认样式作为起点,并允许我进行我需要的小修改。关于按钮,我能够编辑模板的副本,但这只能让我访问 ControlTemplate,我想在其中访问等效于 DefaultButtonStyle 的内容。

我已经有一段时间没有使用 Blend 了,所以我可能记错了该工具的工作原理。但在我们应用程序的早期版本中,我能够生成包含我正在使用的控件的完整样式的资源,例如按钮和内容对话框。我可以对我们当前使用 WinUI 2.x 的应用程序执行相同的操作吗?如果是这样,如何?如果没有,我有什么选择?我考虑过将我感兴趣的默认模板复制到我的项目资源中并以此方式进行修改,但我希望有更好的方法。

富有

I am offered the option to apply an existing style, but not to create a new one

这是意料之中的。例如,Visual Studio 或 Visual Studio 的 Blend 都不能直接创建 WinUI 的默认 DropDownButton 样式。您需要从 Github 手动复制 WinUI 样式并将样式放入您的 XAML.

对于本机 UWP 控件,您可以自动生成样式的副本。