更改UserControl的父级的快速方法
本文关键字:方法 UserControl 更改 | 更新日期: 2023-09-27 18:21:57
在WPF应用程序中,我可以将UserControl
从ContentControl
移动到另一个CCD_2,代码如下:
myContentControl1.Content = null;
myContentControl2.Content = myUserControl;
问题是,已经移动的UserControl
是一个相当重的控件(由许多较小的控件组成)。因此,上面的操作花费了大量的时间,几乎与我最初加载UserControl
时一样长。似乎那个UserControl
中的每个元素都经过处理,被移到另一个ContentControl
下。
是否有一种更高效、更快的方法将UserControl
放在另一个父级(在我的情况下是ContentControl
)下作为其子级(而不需要UI线程每次处理其所有元素)?(动态地,在代码后面)
不要在两个UserControl
之间切换ContentControl
的内容,而是将两个UserControl
都放在Grid
中并切换它们的Visibility
。显示具有当前数据的一个时,请在后台更新另一个不可见的数据。更新完成后,将控件的可见性从Visible
切换到Hidden
,反之亦然。不要使用Collapsed
,因为那样会强制进行新的布局循环。
在不指定CCD_ 18或CCD_。