【问题标题】:Reuse built-in WPF styles重用内置 WPF 样式
【发布时间】:2010-10-11 22:13:46
【问题描述】:

如何访问 WPF 的内置样式/模板?

例如,我试图将 NavigationWindow 的镶边移动到窗口底部。我见过微软的 NavigationWindow template example,但它非常冗长,并且没有重用默认的导航镶边。

我也试过观察 Snoop 里面的树。所有的铬都包含在一个名为“NavChrome”的网格元素中,但我可以找到任何对它的引用。似乎也没有任何与之匹配的“PART_xyz”。

对于 CTP,有人提到对按钮样式使用“PFThemeNavigationWindowNavigationButtonForwardButtonStyle”等,但这似乎不再起作用。

那么,是否可以访问这些内置样式?在其他地方也可以重复使用它们会很好!

谢谢!


编辑:saldoukhov 的回答非常有帮助,但有没有办法做到这一点而无需复制所有 XAML?对我来说,这似乎不是一个非常 DRY 的方法。

【问题讨论】:

    标签: wpf templates styles built-in


    【解决方案1】:

    我通常在 Expression Blend 中执行此操作。选择控件->右键单击->编辑控件部件(模板)->编辑副本...

    那么这取决于你想做什么。如果您很幸运,并且您正在编辑的模板包含对键控资源更改的引用,您可以获得所需的效果,那么您可以使用此键创建自己的资源,它们将“覆盖”模板中的资源,在这种情况下,您不需要携带完整的模板。但更多时候,您需要围绕模板更改一些内容,因此您只需将其提取到自己的资源中并开始随身携带。

    【讨论】:

      【解决方案2】:

      不是你的问题的答案,而是一个小提示: 除了 saldoukhov 的回答,如果您没有 Expression Blend,您还可以使用 XamlPadX (http://blogs.msdn.com/llobo) 来访问内置样式。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-02
        • 2017-01-09
        • 1970-01-01
        • 2011-08-09
        • 1970-01-01
        相关资源
        最近更新 更多