xaml代码,位于网格内:
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<TextBlock Text="My text: " HorizontalAlignment="Left" />
<TextBox Text="{Binding ...}" />
</StackPanel>
我希望将textblock左对齐,将Tetblock右对齐。使用前面的代码,两者都是右对齐的。
如果添加一个内部StackPanel,结果相同:
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<StackPanel HorizontalAlignment="Left">
<TextBlock Text="My text: " HorizontalAlignment="Left" />
</StackPanel>
<TextBox Text="{Binding ...}" />
</StackPanel>
我应该怎么做?提前谢谢。
用 HorizontalContentAlignment
TextAlignment
。HorizontalAlignment
定义TextBox
相对于的对齐方式StackPanel
。TextBox
除非您Style
应用了全局设置,否则默认情况下,内的文本仍将左对齐。
同样StackPanel
,水平放置始终使用尽可能小的空间。因此它将尽可能紧密地堆叠控件。如果要正确设置格式,则必须使用网格或为TextBox
/TextBlock
控件提供固定的宽度。
/ edit:对不起。TextAlignment
用于TextBox
或TextBlock
控制。HorizontalContentAlignment
适用于没有显式使用Text
属性(例如)的控件Label
。
如果您不想使用固定宽度,则可以使用Dockpanel,如下所示:
<DockPanel Grid.Column="0" Grid.Row="0" Margin="10, 0" LastChildFill="true">
<TextBox Width="160" Height="30" DockPanel.Dock="Right" BorderBrush="#6593CF" BorderThickness="1" Text="{Binding ...}" />
<TextBlock Text="My text: " FontSize="14" FontWeight="SemiBold" DockPanel.Dock="Left" TextAlignment="Left" />
</DockPanel>
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句