如何将 ListView 停靠在 StackPanel 上?

Posted

技术标签:

【中文标题】如何将 ListView 停靠在 StackPanel 上?【英文标题】:How to dock ListView on a StackPanel? 【发布时间】:2009-11-23 09:44:25 【问题描述】:
<StackPanel Grid.Row="0" Height="Auto" Width="Auto">
    <Label Name="Label1" BorderThickness="2,2,2,2" BorderBrush="Gray" HorizontalContentAlignment="Center" Width="Auto" Height="28">Window1</Label>               
    <ListView BorderThickness="2,0,2,0" BorderBrush="Gray"Height="Auto" Width="Auto" />                                   
</StackPanel>

在上面的 XAML 中,我想将 ListView 停靠在 StackPanel 上。我希望ListViewLabel 之后占据StackPanel 的整个客户区。

我做错了什么?

【问题讨论】:

长话短说,StackPanel 并不是要拉伸它的孩子,它只会在它们到来时堆叠它们。你想要一个DockPanel。这是discussed before。 【参考方案1】:

为什么不改用 DockPanel

<DockPanel Grid.Row="0" Height="Auto" Width="Auto">
     <Label DockPanel.Dock="Left" Name="Label1" BorderThickness="2,2,2,2" BorderBrush="Gray"  HorizontalContentAlignment="Center" Width="Auto" Height="28">Window1</Label>               
     <ListView BorderThickness="2,0,2,0" BorderBrush="Gray" Height="Auto" Width="Auto" />
</DockPanel>

【讨论】:

以上是关于如何将 ListView 停靠在 StackPanel 上?的主要内容,如果未能解决你的问题,请参考以下文章

如何将子控件停靠在父控件的右下角?

如何将 chrome 开发者控制台停靠在左侧?

如何将停靠在选项卡中的 CDockablePane 带到前面

swift如何将inputAccessoryView停靠在UIToolbar上方(不是底部)

Chrome >=24 - 如何将 devtools 停靠在右侧?

Chrome >=24 - 如何将 devtools 停靠在右侧?