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

时间:2019-05-02 10:28:01

标签: wpf uielement xamlreader

我是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\"/>")失败,发生以下异常:

  

PresentationFramework.dll中发生类型为'System.Windows.Markup.XamlParseException'的第一次机会异常

     

其他信息:“无法创建未知类型'TextBlock'。”行号“ 1”和行位置“ 2”。

此行失败:

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

有什么主意吗?

1 个答案:

答案 0 :(得分:0)

您应该在xml中具有必需的名称空间。就像下面一样,

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