2012-03-28 144 views
0

我有一種情況,用戶可以更改畫布上控件的順序。然後它將被填充數據,並且許多實例將被放置在流文檔中。什麼將是正確的Approuch得到它。我在想,在更改之後,我應該動態創建一個usercontrol,然後將許多實例放在流文檔中。但我不知道如何動態創建用戶控件。請幫忙。在運行時創建用戶控件

+1

什麼樣的控制?你有沒有嘗試過在C#的「代碼隱藏」中聲明這些控件,並添加到canvas/stackpanel等呢? – SkonJeet 2012-03-28 14:35:35

+0

你的問題對我有點困惑,你想達到什麼目的?你想在後面的代碼中創建什麼樣的控件? – Dylan 2012-03-28 17:12:09

回答

0

WPF中的每個控件仍然是一個類的實例。假設您的用戶控制類型爲SuperControl。那麼爲了從代碼中創建它,你需要:

var u1 = new SuperControl(); //create a control's instance 

u1.Height = 100; //Optionally assign properties to 
u1.Width = 100; //configure the control 

mainGrid.Children.Add(u1); //Place it on a layout element. 
+0

我沒有任何usercontrol構建之前。我可以使用此方法將畫布轉換爲用戶控件嗎? – 2012-03-28 15:52:11

+0

您可以創建一個新的類,它從Canvas繼承並進行自定義。可以說你稱之爲MyModifiedCanvas。然後,您可以創建它的一個實例並放置在佈局元素上,如示例中所示。 – 2012-03-28 18:22:04

+0

感謝Maxim。如何將控件放置在父畫布控件的某個位置。 – 2012-03-29 01:35:15