无法从System.Windows.Forms.Label转换为System.Windows.UIElements

时间:2015-11-06 07:22:50

标签: c# wpf xaml

我想在运行时从WPF中的代码(xaml.cs)创建一个新标签。因为我想创建许多对象,所以我不能在xaml文件的开头创建这个对象。

我在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 个答案:

答案 0 :(得分:2)

检查命名空间。您需要Label时从System.Windows.Forms创建System.Windows.Controls。在右键单击时自动解析命名空间时,Visual Studio有时会在使用指令时添加错误的命名空间...

答案 1 :(得分:2)

您正在混合两个不同的命名空间。您的Label属于System.Windows.Forms命名空间。您需要创建System.Windows.Control Label。

希望这段代码能够正常运行,

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