2013-10-21 82 views
2

我在XAML中編寫代碼 - WPF瀏覽器應用程序 - 頁面,只有一個Listview和一個buttonlistview(來自其他文件)添加新數據,我試圖使第一列自動大小本身該按鈕被按下,我正在使用Visual Studio c#2010.ListView列寬自動

我在後面的代碼中使用了以下方法,但AutoResizeColumns不會被識別並給出錯誤。

不幸的是,以前沒有提出的解決方案與我一起工作。

後面的代碼

public partial class Page1 : Page, INotifyPropertyChanged 
{ 

    public Page1() 
    { 

     InitializeComponent(); 
     this.DataContext = new Page1Model(); 

    } 

    private void TestListe_SelectionChanged(object sender, SelectionChangedEventArgs e) 
    { 
    } 

    public event PropertyChangedEventHandler PropertyChanged; 

    private void Button1_Click(object sender, RoutedEventArgs e) 

    { 
     TestListe1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); 
    } 

} 

XAML

<Grid> 

    <Grid.RowDefinitions> 
     <RowDefinition Height="3*"/> 
     <RowDefinition Height="1*"/> 
    </Grid.RowDefinitions> 
    <ListView Name="TestListe1" Margin="68,22,421,8" FontSize="12" > 

     <ListView.View> 
      <GridView> 
       <GridView.Columns> 
         <GridViewColumn Width="auto">        <GridViewColumn.HeaderTemplate> 
          <DataTemplate> 
           <TextBlock Text="ST1" Margin="10,0,10,1"/> 
          </DataTemplate> 
         </GridViewColumn.HeaderTemplate> 
         <GridViewColumn.CellTemplate> 
          <DataTemplate> 
           <TextBlock Text="{Binding One}" /> 
          </DataTemplate> 
         </GridViewColumn.CellTemplate> 
        </GridViewColumn> 

             </GridView.Columns> 
      </GridView> 
     </ListView.View> 
    </ListView> 

    <Button Name="Button1" Grid.Row="1" Height="27" Width="95" Margin="262,24,444,74" Click="Button1_Click" /> 

</Grid> 

回答

8

AutoResizeColumns從命名空間中System.Windows.Forms。我不確定這是否適用於WPF。但是,你可以將列的寬度設置爲NAN,使之調整

在你XAML,如果你的名字你的GridView如下:

<GridView x:Name="dataGridView"> 

然後,你可以調整所有的列本

foreach (GridViewColumn c in dataGridView.Columns) 
{ 
    c.Width = 0; //set it to no width 
    c.Width = double.NaN; //resize it automatically 
} 
+0

其工作完美,謝謝! – user188

+0

@ zaidsh188沒問題。很高興我能幫上忙。 – Harrison

+2

太棒了!謝謝。它的工作方式如下: heringer