WPF中设置TreeView的高度随着窗口改变

 <TreeView Canvas.Top="1" Canvas.Bottom="1"  HorizontalAlignment="Left" Name="MaintreeView" VerticalAlignment="Stretch" Width="200">
       <TreeViewItem Header="图片资源管理" IsExpanded="True" Name="PanelGroup">
       </TreeViewItem>
 </TreeView>
TreeView 的父控件为Grid 。
上面的代码中带下划线的几个属性,
 Canvas.Top="1" Canvas.Bottom="1"  这两句话,控制等比缩放。

VerticalAlignment="Stretch" 垂直方向上大小100%。
同理,如果的水平方向大小100%:HorizontalAlignment="Stretch"


如果treeview 的上一级不是grid,可以在外面添加一层ScrollViewer滚动条,给treeview 一个 高度,就会让滚动条 在最下方。如下:
<ScrollViewer Height="Auto" Width="Auto" Margin="0,0,0,0" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto">
      <TreeView Name="treeView1" AllowDrop="True" Height="380" BorderThickness="0" BorderBrush="#FFFFFFFF" Background="#FFFFFFFF" />
</ScrollViewer>
原文地址:https://www.cnblogs.com/hllxy/p/8521315.html