有人可以帮助我了解 WPF 拉伸对齐方式。我经常遇到我想要一个控件来填充一个区域但我不明白我应该把 VerticalAlignment="Stretch" 放在什么级别的问题。特别是当涉及用户控件时。
我总是通过尝试不同的事情或在各个层面上进行拉伸来解决问题,但我想了解如何正确地做到这一点。
让我们以我现在得到的例子为例:
- 我有一个带有固定大小单元格的网格(可以使用 GridSplitter 调整大小)
- 在这个单元格中,我有一个包含 StackPanel 和 TabControl 的 UserControl
- 在 TabControl 我有 TabItems 包含另一个带有 ListView 的 UserControl
或者在某种伪 XAML 中
<ns:MyUserControl1 Grid.Row="0" Grid.Column="0">
<!-- this is in MyUserControl1 -->
<StackPanel>
<TabControl>
<TabItem>
<ns:MyUserControl2>
<!-- This is in MyUserControl2 -->
<ListView/>
</ns:MyUserControl2>
</TabItem>
</TabControl>
</StackPanel>
</ns:MyUserControl>
现在我希望 ListView 填充整个网格单元(当然不包括 TabControl 和边距)。