C# 如何使工具栏按钮共享相同的宽度?

C# 如何使工具栏按钮共享相同的宽度?,c#,wpf,toolbar,C#,Wpf,Toolbar,我有一个工具栏 代码: 在图像上,我只设置源,在标签上,我只设置内容 但是,如图所示,按钮的宽度不同。“移除”按钮比其他按钮宽 如何使所有工具栏按钮共享与“删除”按钮相同的宽度?这可能会起作用,我没有测试过它,但通过指定按钮的宽度和图像缩放,您应该会发现它起到了作用 <Button Width="intValue"> <StackPanel> <Image Source="yourImage" RenderOp

我有一个工具栏

代码:


在图像上,我只设置
,在标签上,我只设置
内容

但是,如图所示,按钮的宽度不同。“移除”按钮比其他按钮宽


如何使所有工具栏按钮共享与“删除”按钮相同的宽度?

这可能会起作用,我没有测试过它,但通过指定按钮的宽度和图像缩放,您应该会发现它起到了作用

<Button Width="intValue">
   <StackPanel>
       <Image Source="yourImage" 
              RenderOptions.BitmapScalingMode="Fant" />
       <Label/>
   </StackPanel>
</Button>

这可能会起作用,我还没有测试过它,但通过指定按钮的宽度和图像缩放,您应该会发现它起到了作用

<Button Width="intValue">
   <StackPanel>
       <Image Source="yourImage" 
              RenderOptions.BitmapScalingMode="Fant" />
       <Label/>
   </StackPanel>
</Button>

您可以同时设置所有按钮的
宽度的一种方法是在
工具栏中使用
设置器

<ToolBar>
  <ToolBar.Resources>
    <Style x:Key="{x:Static ToolBar.ButtonStyleKey}" TargetType="Button">
      <Setter Property="Width" Value="80"/>
    </Style>
  </ToolBar.Resources>
  <Button>
  ...
  <Button>
  ...
</ToolBar>
      <Setter Property="Stretch" Value="None"/>
编辑:


显然,根据,您需要确保使用
x:Key=“{x:Static ToolBar.ButtonStyleKey}”
设置
样式,以便将其应用于
工具栏
按钮。我更新了我的答案以反映这一点。

可以同时设置所有按钮的
宽度的一种方法是在
工具栏中使用
设置器。参考资料
,如下所示:

<ToolBar>
  <ToolBar.Resources>
    <Style x:Key="{x:Static ToolBar.ButtonStyleKey}" TargetType="Button">
      <Setter Property="Width" Value="80"/>
    </Style>
  </ToolBar.Resources>
  <Button>
  ...
  <Button>
  ...
</ToolBar>
      <Setter Property="Stretch" Value="None"/>
编辑:


显然,根据,您需要确保使用
x:Key=“{x:Static ToolBar.ButtonStyleKey}”
设置
样式,以便将其应用于
工具栏
按钮。我已更新了答案以反映这一点。

您可以手动设置
Width
属性,或者
MinWidth
属性(如果您愿意)。默认情况下,它们被设置为内容的自动大小,这就是为什么您的遥控按钮比其他两个按钮大。我在下面的回答中添加了
Stretch
属性,可以将其设置为与回答中所示的
Width
相同的方式。:)您可以手动设置
Width
属性,如果愿意,也可以手动设置
MinWidth
属性。默认情况下,它们被设置为内容的自动大小,这就是为什么您的遥控按钮比其他两个按钮大。我在下面的回答中添加了
Stretch
属性,可以将其设置为与回答中所示的
Width
相同的方式。:)这是一个比我自己的建议好得多的建议。好的捕获。而且,
宽度可能会有所不同。我只是以80为例,但根据按钮的内容,您可能需要使用更大的值。这比我自己的建议要好得多。好的捕获。而且,
宽度可能会有所不同。我只是以80为例,但取决于按钮的内容,您可能需要使用更大的值。几乎,不使用渲染,您实际上必须将
Stretch
设置为
None
:)几乎,不使用渲染,您实际上必须将
Stretch
设置为
None
:)