WPF - 无法从字符串中解析 TextBlock 元素

WPF - cannot parse TextBlock element from string

我是 WPF 新手

我需要获取字符串参数,创建一个 UIElement 并将其附加到视图。 从字符串中解析元素失败,不知道为什么。

代码如下:

public void addElementToView(string str)
{
      object obj = XamlReader.Load(new XmlTextReader(new StringReader(str)));
      UIElement elem = (UIElement)obj;
      SpecialContent.Children.Add(elem);
}

调用 addElementToView("<TextBox Text=\"hello\"/>") 失败,出现以下异常:

A first chance exception of type 'System.Windows.Markup.XamlParseException' occurred in PresentationFramework.dll

Additional information: 'Cannot create unknown type 'TextBlock'.' Line number '1' and line position '2'.

在这一行失败:

object obj = XamlReader.Load(new XmlTextReader(new StringReader(str)));

有什么想法吗?

您应该在 xml 中有必要的命名空间。喜欢以下,

addElementToView("<TextBox Text=\"hello\" xmlns=\"http://schemas.microsoft.com/winfx/2006/xaml/presentation\"/>");