2

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

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

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

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

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

谢谢!


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

4

2 回答 2

5

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

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

于 2009-03-07T22:39:51.567 回答
3

不是对您的问题的回答,而是一点提示:除了 saldoukhov 的回答之外,您还可以使用 XamlPadX ( http://blogs.msdn.com/llobo ) 来访问内置样式,如果您不这样做' t 有 Expression Blend。

于 2009-03-12T13:36:04.453 回答