WPF网格容器,具有多行/列,在部分中加载了用户控件。
某些行/列可通过单击按钮设置"列/行宽度"(从0到125*或固定值)来展开/折叠。
简单示例代码:
If colgrdFolder1.Width.Value Then
Me.Width = Me.Width - colgrdFolder1.ActualHeight
colgrdFolder1.Width = New GridLength(0)
Else
Me.Width = Me.Width + 150
colgrdFolder1.Width = New GridLength(150)
End If
这是有效的,但当父对象调整大小时,它会随着列/行的设置而闪烁。当父"宽度"首次增加时,您可以看到网格调整大小,然后当设置新的colWidth时,它会再次调整大小(并闪烁)。
在调整大小完成之前,是否没有冻结窗口/阻止重新绘制的属性/方法?
我认为有BeginInit()和EndInit(。
我不知道有什么其他方法可以防止重画,也许在WPF方面更专业的人可以提供更多的线索。。。