.NET Core 3 и System.Windows.Shapes.Rectangle и XamlReader.Parse - PullRequest
1 голос
/ 16 октября 2019

В XamlReader.Parse строке XML для преобразования ее в FlowDocument Я получаю следующую ошибку:

System.Windows.Markup.XamlParseException: '' Вызов конструкторадля типа 'System.Windows.Shapes.Rectangle', соответствующего указанным ограничениям привязки, возникла исключительная ситуация. '

on

<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?

edit: забыл добавить, что я конвертирую это в FlowDocument

edit2: добавлена ​​функция, которая преобразует строку в FlowDocument

1 Ответ

0 голосов
/ 16 октября 2019

хорошо, у меня ушло некоторое время, но я понял, в чем проблема. Получается, что сообщение об ошибке немного вводит в заблуждение. Фактическая проблема была связана с тем, что процесс использует вышеупомянутый метод другой поток. Несмотря на то, что Rectangle не был частью пользовательского интерфейса, он действовал так, как и был. Чтобы обойти это, я должен был вызвать его

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

Если бы кто-то мог объяснить мне, почему это было бы здорово.

...