WPF:根据窗口大小自动调整ListView宽度的大小

时间:2019-03-09 18:10:17

标签: wpf listview window-resize autoresize

所以我在ListView里面有这个TabControl

<TabControl>
    <TabItem Width="70" Height="70" Margin="0,0,0,0">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="10"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="10"/>
            </Grid.ColumnDefinitions>
        <Grid Grid.Column="1">
        <Grid Grid.Row="1">
             <Grid.RowDefinitions>
                 <RowDefinition Height="Auto"/>
                 <RowDefinition Height="*"/>
                 <RowDefinition Height="Auto"/>
             </Grid.RowDefinitions>
         <Grid Grid.Row="1">
                 <ListView>
                     ...    
                 </ListView>
         </Grid>
         <Grid>
         </Grid>
         </Grid>
     </TabItem>
 </TabControl>

我的窗口ResizeMode为CanResizeWithGrip,当我调整应用程序大小时,我希望ListView根据我的Window宽度自动调整大小。

当我的应用宽度未更改ListView时,我尝试定义HorizontalAlignment Stretch ListView bu。

1 个答案:

答案 0 :(得分:0)

我相信,由于您的ListView嵌套在其他控件中,因此这些控件需要将其HorizontalAlignment设置为Stretch。我现在正在使用手机,所以我回到家时会在系统上试用您的XAML,如果发现其他原因,我会更新答案。

编辑:我已经将您的代码复制到了VS中,并对其进行了适当的拉伸。我没有要检查的内容,但是如果我设置了

<TabControl>
    <TabItem Width="70" Height="70" Margin="0,0,0,0">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="10"/>
                <ColumnDefinition Width="*"/>
                <ColumnDefinition Width="10"/>
            </Grid.ColumnDefinitions>
            <Grid Grid.Column="1">
                <Grid Grid.Row="1">
                    <Grid.RowDefinitions>
                        <RowDefinition Height="Auto"/>
                        <RowDefinition Height="*"/>
                        <RowDefinition Height="Auto"/>
                    </Grid.RowDefinitions>
                    <Grid Grid.Row="1">
                        <ListView Background="Black">
                        </ListView>
                    </Grid>
                    </Grid>
                    </Grid>
                </Grid>
    </TabItem>
</TabControl>

当我调整窗口大小时,我可以看到控件实际上正在伸展。现在,我不确定您遇到的问题是什么。您有机会发布更多详细信息吗?