Hei*_*nzi 31 wpf layout alignment baseline
假设我在Label旁边有一个简单的TextBox:
<StackPanel>
<StackPanel Orientation="Horizontal">
<Label Margin="3">MyLabel</Label>
<TextBox Margin="3" Width="100">MyText</TextBox>
</StackPanel>
...
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
这产生以下结果:
如您所见,MyLabel和MyText的基线未对齐,看起来很难看.当然,我可以开始玩边缘直到它们匹配,但由于这是一个常见的要求,我确信WPF提供了一个更简单,更优雅的解决方案,我还没有找到...
Dan*_*zey 36
我认为,这种行为是由于TextBox
默认为垂直对齐Stretch
,导致它填充可用空间并在文本下面有多余像素.如果你改用它:
<StackPanel>
<StackPanel Orientation="Horizontal">
<Label >MyLabel</Label>
<TextBox VerticalAlignment="Center" Width="100">MyText</TextBox>
</StackPanel>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
......你应该看到更清洁的结果.
Mar*_*ote 20
你怎么看?
<StackPanel Orientation="Horizontal">
<Label Margin="3" VerticalContentAlignment="Center">MyLabel</Label>
<TextBox Margin="3" VerticalContentAlignment="Center" Width="100">MyText</TextBox>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
我在 Kaxaml 中实现了这种外观:
<StackPanel Orientation="Horizontal">
<Label Margin="3" VerticalAlignment="Center">MyLabel</Label>
<TextBox Margin="3" Width="100" VerticalAlignment="Center">MyText</TextBox>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
21568 次 |
最近记录: |