(WPF)GridView等比例显示

  1. 将ListView包裹在一个父Grid中
  2. 写一个与ListView平行的Grid,设置该Grid的列数与ListView中GridView的列数相同,将该Grid各列设置列宽按比例分配
  3. 将ListView中GridView的各列的Width绑定上述Grid的ActualWidth
  4. 这样,通过设置上述Grid各列的比例,就对应设置了ListView中GridView的各列的比例
  5. <Grid Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3">
        <Grid>
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="3*" />
                <ColumnDefinition Width="2*" />
                <ColumnDefinition Width="8*"/>
                <ColumnDefinition Width="5*"/>
                <ColumnDefinition Width="5*"/>
            </Grid.ColumnDefinitions>
            <Grid Grid.Column="0" x:Name="HumidifyEventLogCol0"/>
            <Grid Grid.Column="1" x:Name="HumidifyEventLogCol1"/>
            <Grid Grid.Column="2" x:Name="HumidifyEventLogCol2"/>
            <Grid Grid.Column="3" x:Name="HumidifyEventLogCol3"/>
            <Grid Grid.Column="3" x:Name="HumidifyEventLogCol4"/>
        </Grid>
    
        <ListView Name="HumidifyEventLog" Style="{StaticResource ListViewStyle}" ItemContainerStyle="{StaticResource ResourceKey=ListViewItemStyle}">
            <ListView.View>
                <GridView ColumnHeaderContainerStyle="{StaticResource GridViewColumnHeaderStyle}">
                    <GridViewColumn Header="设备" Width="{Binding ElementName=HumidifyEventLogCol0,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=Source, Converter={StaticResource ChamberNameEnToCn}}"/>
                    <GridViewColumn Header="故障ID" Width="{Binding ElementName=HumidifyEventLogCol1,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=Code}"/>
                    <GridViewColumn Header="故障描述" Width="{Binding ElementName=HumidifyEventLogCol2,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=Remark}"/>
                    <GridViewColumn Header="故障开始时间" Width="{Binding ElementName=HumidifyEventLogCol3,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=StartTime}"/>
                    <GridViewColumn Header="故障结束时间" Width="{Binding ElementName=HumidifyEventLogCol4,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=EndTime}"/>
                </GridView>
            </ListView.View>
        </ListView>
    </Grid>

     

posted @ 2021-06-23 15:45  卖雨伞的小男孩  阅读(348)  评论(0编辑  收藏  举报