访问wpf中的内置样式

时间:2012-11-14 07:50:33

标签: wpf templates button styles

当我在工具栏上放置按钮时,其样式会自动更改以匹配工具栏元素。

我从ToggleButton派生了我自己的类,现在如果我在工具栏上实例化它,它看起来像普通按钮。如何访问WPF的内置模板,这样我就不必从头开始重新创建整个模板了?

3 个答案:

答案 0 :(得分:2)

显然,ToolBar为某些控件定义了资源,包括ButtonToggleButton。您可以在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覆盖中的模板更改。