gpt4 book ai didi

c# - XAML Horizo​​ntalAlignment 属性不符合我的要求

转载 作者:太空宇宙 更新时间:2023-11-03 19:00:21 25 4
gpt4 key购买 nike

xaml 代码,在网格内:

<StackPanel Orientation="Horizontal" HorizontalAlignment="Right">
<TextBlock Text="My text: " HorizontalAlignment="Left" />
<TextBox Text="{Binding ...}" />
</StackPanel>

我希望文本 block 左对齐,而 Tetblock 右对齐。使用前面的代码,两者都是右对齐的。

如果我添加一个内部 StackPanel,结果相同:

<StackPanel Orientation="Horizontal"  HorizontalAlignment="Right">
<StackPanel HorizontalAlignment="Left">
<TextBlock Text="My text: " HorizontalAlignment="Left" />
</StackPanel>
<TextBox Text="{Binding ...}" />
</StackPanel>

我该怎么办?提前致谢。

最佳答案

使用 Horizo​​ntalContentAlignmentTextAlignmentHorizo​​ntalAlignment 定义 TextBox 相对于 StackPanel 的对齐方式。 TextBox 中的文本在默认情况下仍向左对齐,除非您应用了全局 Style

此外,水平方向的 StackPanel 始终使用尽可能小的空间。因此它将尽可能紧密地堆叠控件。如果要正确设置格式,则必须使用网格或为 TextBox/TextBlock 控件提供固定宽度。

/编辑:抱歉。 TextAlignment 用于 TextBoxTextBlock 控件。 Horizo​​ntalContentAlignment 适用于未显式使用 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>

关于c# - XAML Horizo​​ntalAlignment 属性不符合我的要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37006686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com