2015-11-06 118 views
2

我想在運行時從WPF背後的代碼(xaml.cs)創建一個新標籤。因爲我想創建許多對象,所以我無法在xaml文件的開頭創建這些對象。無法從System.Windows.Forms.Label轉換爲System.Windows.UIElements

我在xaml.cs文件試了一下:

Label newLabel = new Label(); 
newLabel.Text = "newLabelText"; 
myCanvas.Children.Add(newLabel); // Error at newLabel 

我的XAML文件的一部分:

<Canvas x:Name="myCanvas" ... 

我碰到下面的錯誤。

Cannot convert fromt 'System.Windows.Forms.Label' to 'System.Windows.UIElement' 

我在網上找不到解決方案。

回答

2

您正在混合兩個不同的名稱空間。您的標籤屬於System.Windows.Forms命名空間。您需要創建System.Windows.Control標籤。

希望這個代碼將工作,

System.Windows.Controls.Label newLabel = new System.Windows.Controls.Label(); 
newLabel.Context = "newLabelText"; 
myCanvas.Children.Add(newLabel); 
+0

我改變了代碼,如果可以給你的。謝謝! – kame

2

檢查命名空間。您從System.Windows.Forms創建Label,而您需要System.Windows.Controls。當自動解決名稱空間右鍵單擊時,Visual Studio有時會向使用僞指令添加錯誤的名稱空間...

相關問題