gpt4 book ai didi

c# - WPF 工具栏删除放置在其中的控件的自定义样式

转载 作者:行者123 更新时间:2023-11-30 23:31:17 25 4
gpt4 key购买 nike

我已经为按钮和文本框定义了通用主题(无键,基于类型的样式)。当我在合并这些资源的窗口中创建按钮实例时,样式会正确呈现。但是对于托管在工具栏中的同一个按钮,不应用样式;样式恢复为 Windows 默认值。知道为什么吗?

P.S:如果我明确设置 ToolBar 中托管的按钮的样式,那么它工作正常,但这是我不想做的事情。

这个有效:

            <ToolBarTray>
<ToolBar Band="1"
BandIndex="1">
<Button Content="Add" Style="{DynamicResource ResourceKey={x:Type Button}}" />
</ToolBar>
</ToolBarTray>

enter image description here

这不起作用:

            <ToolBarTray>
<ToolBar Band="1"
BandIndex="1">
<Button Content="Add" />
</ToolBar>
</ToolBarTray>

enter image description here

在这两种情况下,如果按钮放置在工具栏之外,样式就会正确应用!

最佳答案

所以如果我们去看看 style template对于您的工具栏,我们可以在其中找到它。

<Style x:Key="{x:Static ToolBar.ButtonStyleKey}"
BasedOn="{StaticResource ToolBarButtonBaseStyle}"
TargetType="{x:Type Button}" />

这是用模板中嵌套的另一种样式显式定义和覆盖您的嵌入式按钮。

您可以从模板中更改或删除它,或者在实例级别覆盖它,您只需更改 BasedOn 值以指向您自己的样式模板。网上还有关于工具栏样式的教程,以获取更多详细信息。希望这会有所帮助。

关于c# - WPF 工具栏删除放置在其中的控件的自定义样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34656250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com