WPF-GridView設置列寬按比例分配


 

  1. 將ListView包裹在一個父Grid中
  2. 寫一個與ListView平行的Grid,設置該Grid的列數與ListView中GridView的列數相同,將該Grid各列設置列寬按比例分配
  3. 將ListView中GridView的各列的Width綁定上述Grid的ActualWidth
  4. 這樣,通過設置上述Grid各列的比例,就對應設置了ListView中GridView的各列的比例

 

 1 <Grid Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3">
 2     <Grid>
 3         <Grid.ColumnDefinitions>
 4             <ColumnDefinition Width="3*" />
 5             <ColumnDefinition Width="2*" />
 6             <ColumnDefinition Width="8*"/>
 7             <ColumnDefinition Width="5*"/>
 8             <ColumnDefinition Width="5*"/>
 9         </Grid.ColumnDefinitions>
10         <Grid Grid.Column="0" x:Name="HumidifyEventLogCol0"/>
11         <Grid Grid.Column="1" x:Name="HumidifyEventLogCol1"/>
12         <Grid Grid.Column="2" x:Name="HumidifyEventLogCol2"/>
13         <Grid Grid.Column="3" x:Name="HumidifyEventLogCol3"/>
14         <Grid Grid.Column="3" x:Name="HumidifyEventLogCol4"/>
15     </Grid>
16 
17     <ListView Name="HumidifyEventLog" Style="{StaticResource ListViewStyle}" ItemContainerStyle="{StaticResource ResourceKey=ListViewItemStyle}">
18         <ListView.View>
19             <GridView ColumnHeaderContainerStyle="{StaticResource GridViewColumnHeaderStyle}">
20                 <GridViewColumn Header="設備" Width="{Binding ElementName=HumidifyEventLogCol0,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=Source, Converter={StaticResource ChamberNameEnToCn}}"/>
21                 <GridViewColumn Header="故障ID" Width="{Binding ElementName=HumidifyEventLogCol1,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=Code}"/>
22                 <GridViewColumn Header="故障描述" Width="{Binding ElementName=HumidifyEventLogCol2,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=Remark}"/>
23                 <GridViewColumn Header="故障開始時間" Width="{Binding ElementName=HumidifyEventLogCol3,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=StartTime}"/>
24                 <GridViewColumn Header="故障結束時間" Width="{Binding ElementName=HumidifyEventLogCol4,Path=ActualWidth}" DisplayMemberBinding="{Binding Path=EndTime}"/>
25             </GridView>
26         </ListView.View>
27     </ListView>
28 </Grid>

 

參考:WPF GridView的寬度設置為按比例分配

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM