0

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

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

4

3 回答 3

2

显然 ToolBar 具有为某些控件定义的资源,包括ButtonToggleButton。这种样式,您可以在 ToolBar 的元数据中找到它们,应用于其目标类型的每个控件。所以你可以得到样式并自己应用它:

    <ToolBar>
        <my:CustomToggleButton 
            Height="100" Width="100" 
            Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}" 
            Content="Press me!" />
    </ToolBar>

如果您有很多按钮并且不想为每个按钮设置样式,则可以在自定义控件的代码隐藏中设置样式。

于 2012-11-14T08:28:44.290 回答
0

您可以style像这样在自定义切换按钮上应用它,使其看起来像工具栏切换按钮 -

<local:LockableToggleButton LockToggle="True" Content="Test"
       Style="{StaticResource {x:Static ToolBar.ToggleButtonStyleKey}}"/>
于 2012-11-14T08:24:36.843 回答
0

您可以使用和/或访问OnApplyTemplate覆盖中的更改模板。VisualTreeHelperLogicalTreeHeler

于 2012-11-14T08:32:13.397 回答