无法从System.Windows.Forms.Label转换为System.Windows.UIE元素

本文关键字:System Windows UIE 元素 转换 Forms Label | 更新日期: 2023-09-27 18:20:44

我想在运行时从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'

我在网上找不到解决方案。

无法从System.Windows.Forms.Label转换为System.Windows.UIE元素

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

希望这个代码能起作用,

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

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