更改UserControl的父级的快速方法

本文关键字:方法 UserControl 更改 | 更新日期: 2023-09-27 18:21:57

在WPF应用程序中,我可以将UserControlContentControl移动到另一个CCD_2,代码如下:

myContentControl1.Content = null;
myContentControl2.Content = myUserControl;

问题是,已经移动的UserControl是一个相当重的控件(由许多较小的控件组成)。因此,上面的操作花费了大量的时间,几乎与我最初加载UserControl时一样长。似乎那个UserControl中的每个元素都经过处理,被移到另一个ContentControl下。

是否有一种更高效、更快的方法将UserControl放在另一个父级(在我的情况下是ContentControl)下作为其子级(而不需要UI线程每次处理其所有元素)?(动态地,在代码后面)

更改UserControl的父级的快速方法

不要在两个UserControl之间切换ContentControl的内容,而是将两个UserControl都放在Grid中并切换它们的Visibility。显示具有当前数据的一个时,请在后台更新另一个不可见的数据。更新完成后,将控件的可见性从Visible切换到Hidden,反之亦然。不要使用Collapsed,因为那样会强制进行新的布局循环。

在不指定CCD_ 18或CCD_。