xaml代码,在网格内:
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<TextBlock Text="My text: " HorizontalAlignment="Left" />
<TextBox Text="{Binding ...}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
我希望文本块左对齐,Tetblock右对齐.使用前面的代码,两者都是右对齐的.
如果我添加一个内部StackPanel,结果相同:
<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<StackPanel HorizontalAlignment="Left">
<TextBlock Text="My text: " HorizontalAlignment="Left" />
</StackPanel>
<TextBox Text="{Binding ...}" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
我应该怎么做?Thx提前.
使用 HorizontalContentAlignmentTextAlignment.HorizontalAlignment定义TextBox相对于的对齐方式StackPanel.TextBox除非您已Style应用全局,否则默认情况下,文本内部的文本仍然对齐.
另外一个StackPanel与水平方向始终使用的最小空间成为可能.因此它会尽可能紧密地堆叠控件.如果要正确格式化,则必须使用网格或为TextBox/ TextBlock控件指定固定宽度.
/编辑:抱歉.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>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1716 次 |
| 最近记录: |