如何使用window resize wpf调整Listview和TreeView的大小

时间:2013-06-26 18:19:36

标签: wpf xaml

我有一个包含这些列和行定义的网格

<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>

在网格中我有一个Listview,它有一个(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}">

当我最大化我的窗口时,我的树视图停留在它的位置但是根据窗口调整大小。 但我的Listview它随窗口扩展,但我的最后一列延伸到窗口,当我减少/恢复窗口大小时,它缩小。   如何在窗口调整大小时使网格和树张适当拉伸?

1 个答案:

答案 0 :(得分:0)

基本上,GridView中的最后一个“列”正在填充窗口中的剩余空间?它实际上不是一个列,而只是空格?

如果是这种情况,你应该查看答案 WPF : Extend last column of ListView's GridView

但是,我个人会抛弃ListView / GridView并使用DataGrid(如果您使用的是.net 4或更高版本)。

相关问题