如何设置WPF中列表视图中列的宽度?
问题描述:
我有一个列表视图,我需要有第一列自动宽度(所以宽度适当测量)和第二列,将采取列表视图头的其余空间。如何设置WPF中列表视图中列的宽度?
我该怎么做?
我的XAML看起来像这样现在:
<ListView HorizontalAlignment="Stretch" ItemsSource="{Binding ListViewItemsSource}"
Margin="5,0,5,5" DockPanel.Dock="Top" ScrollViewer.HorizontalScrollBarVisibility="Disabled">
<ListView.View>
<GridView>
<GridViewColumn Header="Plugin" DisplayMemberBinding="{Binding Plugin}" />
<GridViewColumn Header="Message">
<GridViewColumn.CellTemplate>
<DataTemplate x:Name="col1Template">
<TextBlock TextWrapping="WrapWithOverflow" Text="{Binding Message}" />
</DataTemplate>
</GridViewColumn.CellTemplate>
</GridViewColumn>
</GridView>
</ListView.View>
</ListView>
谢谢!
答
此行为在ListView中不存在 - 如果宽度为空白,它会尝试按照最初(通常不包含数据=>根据标头)的大小进行调整。如果你需要它 - 你可以尝试使用DataGrid,它完全支持调整列的大小。
谢谢!我发现如何在这里使用DataGrid:http://www.switchonthecode.com/tutorials/using-the-wpf-toolkit-datagrid-让我们注意到其他人,如果你使用.NET 3.5sp1,那么你有使用WPF工具包(但在文章中介绍) – 2010-06-18 20:28:45