WPF网格容器,其中包含多个行/列,并在部分中加载了usercontrol。
根据单击按钮,通过设置列/行宽度(从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时,它会再次调整(并闪烁)。
在调整大小完成之前,是否没有冻结窗口/阻止重绘的属性/方法?
答案 0 :(得分:0)
我认为有BeginInit()和EndInit()方法,应该做你想要的(防止重绘),但根据我的经验,他们没有真正工作(也许我没有错误地使用它们)。
我不知道有任何其他方法可以防止重绘,也许更多WPF专家的人可能会有更多的亮点......