我想在运行时从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'
我无法在网上找到解决方案。
答案 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);