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

Posted

技术标签:

【中文标题】WPF - 无法从字符串中解析 TextBlock 元素【英文标题】:WPF - cannot parse TextBlock element from string 【发布时间】:2019-09-20 20:33:16 【问题描述】:

我是 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】:

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

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

【讨论】:

以上是关于WPF - 无法从字符串中解析 TextBlock 元素的主要内容,如果未能解决你的问题,请参考以下文章

c# wpf 多个textblock滚动字幕怎么实现?

WPF中使用TextBlock显示长字符串的处理方法

如何从WPF TextBlock中删除其他填充?

WPF控件TextBlock中文字自动换行

WPF中的TextBlock处理长字符串

WPF中让TextBlock每一个字符显示不同的颜色