【问题标题】:.NET Core 3 and System.Windows.Shapes.Rectangle and XamlReader.Parse.NET Core 3 和 System.Windows.Shapes.Rectangle 和 XamlReader.Parse
【发布时间】:2019-10-16 17:00:05
【问题描述】:

XamlReader.Parse 一个 XML 字符串中,将其转换为 FlowDocument 我收到以下错误:

System.Windows.Markup.XamlParseException: ''调用 'System.Windows.Shapes.Rectangle' 类型的构造函数匹配 指定的绑定约束引发了异常。'

<Rectangle Stroke="#FF000000" StrokeThickness="3" Width="Auto" Height="3" Margin="0,0,0,0" />

代码如下:

public FlowDocument ConvertToFlowDocument(string data)
{
    var x = XamlReader.Parse(data);
    return (FlowDocument)x;
}

我应该注意,错误出现在 var x = XamlReader.Parse(data) 而不是演员表上。

在 Core 3 中是否应该使用 Rectangle 以外的其他内容?我应该使用XamlReader.Parse以外的东西吗?

编辑:忘记添加我正在将其转换为 FlowDocument

edit2:添加了将字符串转换为FlowDocument的函数

【问题讨论】:

  • 你能添加一些代码示例吗?
  • @Auguste 我添加了一些代码。

标签: c# xml-parsing .net-core-3.0


【解决方案1】:

好的,我花了一些时间,但弄清楚了问题所在。所以事实证明错误消息有点误导。实际问题是由于使用上述方法的进程是另一个线程。尽管 Rectangle 不是 UI 的一部分,但它的行为就像它一样。为了绕过它,我不得不调用它

Application.Current.Dispatcher.Invoke((Action)delegate 
{
   //Code that uses ConvertToFlowDocument() method
}

如果有人可以向我解释为什么那会很棒。

【讨论】:

    猜你喜欢
    • 2020-03-20
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 2020-02-01
    • 1970-01-01
    • 2020-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多