1. 程式人生 > >WPF 後臺動態載入UserControl的一種方法

WPF 後臺動態載入UserControl的一種方法

  今天在看以前的專案時看到前輩們在後臺載入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()函式內部那幾條語句的實現原理,也不是很懂,希望有大神能夠指點一下。