wpf - 工具栏按钮样式被忽略?

标签 wpf styles toolbar

我在 WPF 的工具栏上有按钮。

当我执行 XAML 时:

<ToolBar.Resources>
   <Style TargetType="{x:Type Button}">
      <Setter Property="Width" Value="21"></Setter>
      <Setter Property="Height" Value="21"></Setter>
   </Style>
</ToolBar.Resources>

工具栏上的按钮都没有相应地设置它们的大小。

我必须转到每个按钮并手动将它们的宽度和高度设置为所需的值。

知道为什么工具栏上的样式不起作用吗?

最佳答案

这是因为 ToolBar应用由 ToolBar.ButtonStyleKey 标识的样式按钮,而不是保留它们的默认样式。 (这就是为什么即使设置了默认样式,工具栏中的按钮也是扁平的。)Reference .

您需要“劫持”此样式,而不是默认样式:

<ToolBar.Resources>
  <Style x:Key="{x:Static ToolBar.ButtonStyleKey}" TargetType="Button">
    <Setter Property="Width" Value="100" />
  </Style>
</ToolBar.Resources>

请注意样式声明中的 x:Key。

关于wpf - 工具栏按钮样式被忽略?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2406079/

相关文章:

ios - iOS 版 MapBox,自定义样式

php - 初始 Symfony2 安装中没有样式或图像?

android - 如何使渐变形状留在 CollapsingToolbarLayout 标题后面

c# - AvalonEdit 作为文本查看器 - 无插入符号

c# - 更改包含具有 ItemContainerStyle 上的控件模板并绑定(bind)到 CollectionViewSource 的列表框的选项卡时,应用程序崩溃

android - 我必须为我的 Android 应用程序中的每个 Activity 创建一个工具栏吗?

javascript - 如何使用路由器运行 Vuetify.js 工具栏标题

c# - 线程停止得不够快

c# - 组合框文本属性双向绑定(bind)不起作用

javascript - 如何动态更改表格列的内容