C# · 12月 29, 2021

c# – WPF – Canvas中的中心控件(标签)

问候

我正在修复WPF应用程序中控件的位置.在我的应用程序中,我有几个标签,每个标签都在不同的画布中.我试图将标签放在画布中央.我目前为一个标签的代码如下:@H_404_3@ <Canvas Height=”42″ HorizontalAlignment=”Left” Margin=”0,1,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″ Name=”labelPlayer1Name” VerticalAlignment=”Center” Width=”Auto” /></Canvas>

现在对于初学者来说,这个问题是它根本不把文本置于中心,它保持原来的位置.我想要实现的是将标签的内容放在该画布中,但它不能超过画布的宽度.@H_404_3@

欢迎有意见的建议!如果您对我的思维模式有任何意见,以解决这个问题,请通知我!@H_404_3@

先谢谢你@H_404_3@解决方法 你不应该使用Canvas.对齐属性和边距对Canvas中布置的元素没有影响.你应该使用的是一个网格.画布对于大多数布局场景都不是特别有用. <Grid Height=”42″ HorizontalAlignment=”Left” Margin=”0,0″ Name=”canvasPlayer1″ VerticalAlignment=”Top” Width=”172″ > <Label Content=”” Foreground=”White” FontSize=”15″ FontFamily=”Eurostile LT ExtendedTwo” HorizontalAlignment=”Center” Margin=”0,0″ Name=”labelPlayer1Name” VerticalAlignment=”Center” /></Grid>