2010-06-18 77 views
0

我有一个列表视图,我需要有第一列自动宽度(所以宽度适当测量)和第二列,将采取列表视图头的其余空间。如何设置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> 

谢谢!

回答

1

此行为在ListView中不存在 - 如果宽度为空白,它会尝试按照最初(通常不包含数据=>根据标头)的大小进行调整。如果你需要它 - 你可以尝试使用DataGrid,它完全支持调整列的大小。

+0

谢谢!我发现如何在这里使用DataGrid:http://www.switchonthecode.com/tutorials/using-the-wpf-toolkit-datagrid-让我们注意到其他人,如果你使用.NET 3.5sp1,那么你有使用WPF工具包(但在文章中介绍) – 2010-06-18 20:28:45

相关问题