WPF 後臺動態載入UserControl的一種方法
阿新 • • 發佈:2019-02-14
今天在看以前的專案時看到前輩們在後臺載入UserControl的一種方法:
1.在前臺建一個Contentcontrol,Name="ctr1"。
2.寫一個函式,如下:
public Object CreatUsercontrol()
{
string ctrName= "WpfApplication1.UserControl1"; //WpfApplication1為要新增的Usercontrol的名稱空間,UserControl1為要新增的Usercontrol的類名。
Type t = Type.GetType(ctrName);
return Activator.CreatInstance(t);
}
3.在主函式中新增
this.ctr1.content = CreatUsercontrol();
這樣就可以了。
我在想,這和直接new 一個然後新增給ctr1.content(this.ctr1.content = new UserControl1();)有什麼不同呢?
我能想到的是可以ctrName做成string集合,然後在新增一個int形參,這樣就可以通過一個引數,只調用一個函式就能新增不同的Usercontrol了。
至於其他的好處,我就想不到了。
另外,對於CreatUsercontrol()函式內部那幾條語句的實現原理,也不是很懂,希望有大神能夠指點一下。