问候
我正在尝试修复WPF应用程序中控件的位置。在我的应用程序中,我有几个标签,每个标签都在不同的画布中。我试图将标签置于画布中心。我目前为一个Label提供的代码如下:
<Canvas Height="42" HorizontalAlignment="Left" Margin="0,1,0,0" Name="canvasPlayer1" VerticalAlignment="Top" Width="172" >
<Label Content="" Foreground="White" FontSize="15" FontFamily="Eurostile LT ExtendedTwo" Height="Auto" HorizontalAlignment="Center" Margin="0,5,0,0" Name="labelPlayer1Name" VerticalAlignment="Center" Width="Auto" />
</Canvas>
现在对于初学者来说,问题在于它根本不会使文本居中,而是保持在原始位置。我想要实现的是将标签的内容集中在该画布中,但它不能超过画布的宽度。
欢迎有用的建议!如果您对我的思维模式有任何意见来解决这个问题,请通知我!
提前谢谢
答案 0 :(得分:16)
您不应该使用Canvas。对齐属性和边距对Canvas中布置的元素没有影响。您应该使用的是网格。 Canvas对大多数布局场景并不是特别有用。
<Grid Height="42" HorizontalAlignment="Left" Margin="0,1,0,0"
Name="canvasPlayer1" VerticalAlignment="Top" Width="172" >
<Label Content="" Foreground="White" FontSize="15"
FontFamily="Eurostile LT ExtendedTwo"
HorizontalAlignment="Center" Margin="0,5,0,0"
Name="labelPlayer1Name" VerticalAlignment="Center" />
</Grid>