代码之家  ›  专栏  ›  技术社区  ›  falukky

WPF:根据窗口大小自动调整列表视图宽度

  •  0
  • falukky  · 技术社区  · 5 年前

    所以我有这个 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>
    

    我的窗口大小模式是 CanResizeWithGrip 当我调整应用程序的大小时 根据我的 Window 宽度。

    我试着定义我的 HorizontalAlignment Stretch 当我的申请宽度改变时 没有。

    0 回复  |  直到 5 年前
        1
  •  0
  •   AdamTCox    5 年前

    我相信自从你 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>
    

    当我调整窗口大小时,我可以看到控件实际上在拉伸。现在我不确定你遇到的问题是什么。你有机会公布更多细节吗?