2015-11-06 158 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有时会向使用伪指令添加错误的名称空间...

相关问题