我在Canvas中有一个TreeView。折叠TreeViewItem时,TreeView会缩小。我可以明确设置高度和宽度,但它可能会随着项目数量的变化而变化。我希望TreeView始终尽可能大。换句话说,我希望TreeView自身调整大小,就像每个TreeViewItem都被扩展一样。
以下是我在扩展TreeView时所尝试的内容,但它并不常用。
protected override Size ArrangeOverride(Size arrangeBounds)
{
if (this.ActualHeight > arrangeBounds.Height)
{
arrangeBounds.Height = this.ActualHeight;
}
if (this.ActualWidth > arrangeBounds.Width)
{
arrangeBounds.Width = this.ActualWidth;
}
return base.ArrangeOverride(arrangeBounds);
}
编辑:
我需要在画布中使用树视图,以便我可以正确地平移和缩放。
以下是一些屏幕截图。
注意树视图是如何保持最大尺寸的?它正在缩小到所需的尺寸。但水平对齐的工作方式就好像树视图仍然很大。
如果我删除了ArrangeOverride,则项目可见,但树视图正在缩小。