当我在工具栏上放置按钮时,其样式会自动更改以匹配工具栏元素。
我从ToggleButton派生了我自己的类,现在如果我在工具栏上实例化它,它看起来像普通按钮。如何访问WPF的内置模板,这样我就不必从头开始重新创建整个模板了?
答案 0 :(得分:2)
显然,ToolBar为某些控件定义了资源,包括Button
和ToggleButton
。您可以在ToolBar的元数据中找到它们,这些样式将应用于它的目标类型的每个控件。因此,您可以获得风格并自行应用:
<ToolBar>
<my:CustomToggleButton
Height="100" Width="100"
Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}"
Content="Press me!" />
</ToolBar>
如果您有很多按钮并且不想为每个按钮设置样式,您可以在自定义控件的代码隐藏中设置样式。
答案 1 :(得分:0)
您可以在自定义切换按钮上应用style
,以便看一下工具栏切换按钮 -
<local:LockableToggleButton LockToggle="True" Content="Test"
Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}"/>
答案 2 :(得分:0)
您可以使用OnApplyTemplate
和/或VisualTreeHelper
访问LogicalTreeHeler
覆盖中的模板更改。