Wpf 如何自动设置数据绑定ListView的列宽度
我有一个数据绑定列表视图,可以手动设置除最后一个之外的所有列宽。最后一个字段的数据长度变化很大。最后一列需要展开以处理数据的宽度,如果更大,则需要滚动。我曾尝试将最后一列的宽度设置为某个非常大的数字,但这会使列标题脱离页面。如何计算显示数据所需的最后一列的最小宽度,以及该宽度是否较大以保持列标题在页面上Wpf 如何自动设置数据绑定ListView的列宽度,wpf,listview,Wpf,Listview,我有一个数据绑定列表视图,可以手动设置除最后一个之外的所有列宽。最后一个字段的数据长度变化很大。最后一列需要展开以处理数据的宽度,如果更大,则需要滚动。我曾尝试将最后一列的宽度设置为某个非常大的数字,但这会使列标题脱离页面。如何计算显示数据所需的最后一列的最小宽度,以及该宽度是否较大以保持列标题在页面上 <ListView x:Name="ListViewFlightPlans" Background="#FF000000" IsSynchronizedWithCurrentItem="T
<ListView x:Name="ListViewFlightPlans" Background="#FF000000" IsSynchronizedWithCurrentItem="True" Width="659.5" Height="Auto"
Foreground="#FFFDF3F3" BorderBrush="{x:Null}" VerticalAlignment="Bottom" Visibility="Hidden" >
<ListView.View>
<GridView>
<GridViewColumn Header="CID" DisplayMemberBinding="{Binding Path=CID}" Width="50"/>
<GridViewColumn Header="Callsign" DisplayMemberBinding="{Binding Path=ACID}" Width="65"/>
<GridViewColumn Header="Type" DisplayMemberBinding="{Binding Path=Type}" Width="65"/>
<GridViewColumn Header="Route" DisplayMemberBinding="{Binding Path=Route}" Width="900 e"/>
</GridView>
</ListView.View>
</ListView>
您可以尝试使用%而不是像素,并可能将60%分配给最后一列,而剩余的40%可用于前3列……(未经测试的猜测)。因为您的标题偏离页面,我假设您的标题是居中或右对齐的。左对齐页眉使其保持不变(可以在左侧添加填充以模拟居中或右对齐的页眉)
使用Width=“Auto”使列的宽度基于列中最宽的项展开
例如:
<GridViewColumn Header="Route" DisplayMemberBinding="{Binding Path=Route}"
Width="Auto"
HeaderContainerStyle="{StaticResource WideColumnHeader}"
/>
...
‹!--Somewhere in your resources--›
...
‹Style x:Key="WideColumnHeader" TargetType="{x:Type GridViewColumnHeader}"›
‹Setter Property="HorizontalContentAlignment" Value="Left" /›
‹Setter Property="Padding" Value="40,0,0,0"
‹/Style›
...
...
‹!--在您的资源中的某个地方--›
...
›Style x:Key=“WideColumnHeader”TargetType=“{x:Type GridViewColumnHeader}”›
›Setter Property=“HorizontalContentAlignment”Value=“Left”/
›Setter Property=“Padding”Value=“40,0,0,0”
嫀/风格›
...