【问题标题】:Center text in button Xaml按钮 Xaml 中的中心文本
【发布时间】:2017-04-09 20:05:09
【问题描述】:

所以我的 XMAL 是这样的:

<Button x:Name="button_equal" Content="=" HorizontalAlignment="Left" Margin="253,236,0,0" VerticalAlignment="Top" Width="76" Height="73" Click="button_equal_Click" FontSize="45" RenderTransformOrigin="0.507,0.499" HorizontalContentAlignment="Center"  VerticalContentAlignment="Center"/>

结果如下:

正如你所看到的,虽然我正在使用它并没有真正居中

HorizontalContentAlignment="Center"  VerticalContentAlignment="Center"

有什么方法可以让我使用更具体的东西来代替“中心”“右”“左”等?

【问题讨论】:

  • 我会说关于居中的问题可能是由于 RenderTranformOrigin。因为除此之外,一切对我来说似乎都很正确。所以如果你删除它,= 应该居中显示
  • 刚刚删除还是一样的

标签: c# wpf xaml


【解决方案1】:

如果你愿意,你可以使用

<Button x:Name="button_equal" HorizontalAlignment="Left" Margin="253,236,0,0" VerticalAlignment="Top" Width="76" Height="73" Click="button_equal_Click" FontSize="45" RenderTransformOrigin="0.507,0.499" HorizontalContentAlignment="Center"  VerticalContentAlignment="Center">
    <TextBlock Text="="/>
</Button>

那么它肯定会是中心而不是使用填充。

编辑: 是字体。 Segoe UI 不将“=”字符居中。将字体更改为“全局用户界面”,它将居中:

【讨论】:

  • 它仍然没有居中:P
  • 在这种情况下,如果您要使用文本,则填充是您的最佳选择。
  • 是的,您对字体的看法是对的,谢谢!但是 Horizo​​ntalContentAlignment="Center" VerticalContentAlignment="Center" 不应该居中吗?
  • 它将实际的文本块元素居中,但这会将字符绘制在可用空间的一半以上
  • 将边距设置为 200 之类的非常糟糕的 xaml 设计。
【解决方案2】:

尝试使用 padding 属性,例如:

Padding="0,0,0,2"

【讨论】:

  • 是的,它做到了,但由于某种原因在更大的字体中会出现故障。
  • @harambe 请注意,这取决于您使用的文本。如果你会这样做Content="_" - 即使有给定的填充,它也不会再次居中。
猜你喜欢
  • 2015-09-29
  • 2012-06-14
  • 1970-01-01
  • 2012-12-10
  • 2015-05-16
  • 1970-01-01
  • 2017-12-12
  • 2020-09-16
  • 2017-08-27
相关资源
最近更新 更多