重复使用内置的WPF样式

3
如何访问WPF内置的样式/模板?
例如,我正在尝试将NavigationWindow的chrome移动到窗口底部。我看过Microsoft的NavigationWindow template example,但它非常冗长,不重用默认的导航chrome。
我还尝试查看Snoop中的树。所有chrome都包含在名为“NavChrome”的网格元素中,但我找不到任何参考。似乎也没有与之匹配的任何“PART_xyz”。
对于CTP,有些人提到使用“PFThemeNavigationWindowNavigationButtonForwardButtonStyle”等按钮样式,但是这似乎不再起作用。
那么,是否可以访问这些内置样式?在其他地方重用它们会很好!
谢谢!

编辑:saldoukhov的回答非常有帮助,但是否有一种方法可以不需要复制所有的XAML来完成这个任务?这对我来说似乎不是一种很DRY的方法。

2个回答

5
我通常使用Expression Blend进行操作。选择控件->右键点击->编辑控件部分(模板)->编辑副本...
然后这取决于你想要做什么。如果你很幸运,你编辑的模板包含对关键资源的引用,改变它们可以得到所需的效果,那么你只需要创建一个具有此关键字的自定义资源即可“覆盖”模板中的资源,在这种情况下,你不需要携带完整的模板。但更多情况下,你需要在模板周围做一些调整,因此你可以将其提取到自己的资源中并开始携带它们。

3

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接