2013-06-26 31 views
0

我與這些列和行定義如何調整ListView和TreeView控件與窗口大小調整WPF

<Grid.ColumnDefinitions> 
    <ColumnDefinition Width="Auto" 
        MinWidth="154" /> 
    <ColumnDefinition Width="Auto" 
        MinWidth="175" /> 
    <ColumnDefinition /> 
    <ColumnDefinition Width="Auto" /> 
</Grid.ColumnDefinitions> 
<Grid.RowDefinitions> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="Auto" /> 
    <RowDefinition Height="*" /> 
</Grid.RowDefinitions> 

網格我有一個列表視圖,它有一個(GridView控件)內的網格。

<ListView Grid.Column="0" 
      Grid.Row="2" 
      Name="ListView" 
      ItemsSource=" {Binding MessageFields}" 
      Margin="10,12,0,-5" 
      Grid.ColumnSpan="3"> 
    <ListView.View> 
    <GridView> 
     <GridViewColumn Width="100"> 
     <GridViewColumnHeader Content="{StaticResource IdColumnContent}" /> 
     </GridViewColumn> 
     <GridViewColumn Width="100"> 
     <GridViewColumnHeader Content="{StaticResource CodeColumnContent}" /> 

     </GridViewColumn> 
     <GridViewColumn Width="Auto"> 
     <GridViewColumnHeader Content="{StaticResource NameColumnContent}" /> 

     </GridViewColumn> 
     <GridViewColumn Width="100"> 
     <GridViewColumnHeader Content="{StaticResource PositionColumnContent}" /> 

     </GridViewColumn> 
     <GridViewColumn Width="100"> 
     <GridViewColumnHeader Content="{StaticResource MappedListColumnContent}" /> 

     </GridViewColumn> 
     <GridViewColumn> 
     <GridViewColumnHeader Content="{StaticResource MappingRuleColumnContent}" /> 

     </GridViewColumn> 
    </GridView> 
    </ListView.View> 

電網裏面我也有一個TreeView

<TreeView 
    Grid.Column="3" Grid.Row="2" ItemsSource="{Binding , Mode=TwoWay}"> 

當我將窗口最大化我的TreeView停留在它的位置,但根據窗口大小調整。 但我的Listview隨窗口擴展,但最後一列與窗口一起延伸,當我縮小/恢復窗口大小時,它會縮小。 我怎樣才能使網格和樹適當調整窗口大小?

+1

你在第2行第3列有他們嗎?首先不要將它們放在同一行和列中。 – Paparazzi

+0

@Blam 我改變了放置listview的地方,但它仍然是一樣的,而列表視圖的另一件事是在右側添加額外的列,這是保持伸展的列 –

+0

顯示網格行和列def和更新ListView TreeView – Paparazzi

回答

0

基本上,您的GridView中最後一個「列」正在填充窗口中的剩餘空間?它實際上不是一個專欄,而只是空的空間?

如果是這樣的話,你應該檢查出 WPF : Extend last column of ListView's GridView

的答案,我會親自溝ListView/GridView,然而,使用DataGrid(如果你使用的是.NET 4或更高)。

+0

是由listview生成的最後一列沒有創建..它沒有標題,但它佔用了空間作爲最後一列,那是佔用空間和拉伸的空間。 DataGrid對我來說很好,但是我將它改爲了其他需求的listview。 –

+1

好吧,ListView的默認行爲是用標題背景填充空格。它實際上不是一個專欄。它默認不支持* size列。這就是爲什麼我向你指出另一個問題的答案。它顯示了GridView的侷限性的2個解決方法。 –

+0

謝謝您清除最後一個不需要的列 –