Как сохранить и открыть файл xaml? - PullRequest
0 голосов
/ 03 марта 2019

Я работаю с RichTextBox и flowdocuments.

После форматирования текста в RichTextBox я сохраняю этот файл с расширением xaml .

RichTextBox:

private void Save_Executed(object sender, ExecutedRoutedEventArgs e)
    {
        SaveFileDialog dlg = new SaveFileDialog();
        dlg.Filter = "XAML Format (*.xaml)|*.xaml|All files (*.*)|*.*";
        if(dlg.ShowDialog() == true)
        {
            FileStream fileStream = new FileStream(dlg.FileName, FileMode.Create);
            TextRange range = new TextRange(rtbEditor.Document.ContentStart, rtbEditor.Document.ContentEnd);
            range.Save(fileStream, DataFormats.Xaml);
        }
    }

Итак, я получаю xaml файл, подобный следующему:

<Section>
    <Paragraph>
        <Run>Hello World</Run>
    </Paragraph>
    <Paragraph>
    <Run 
        FontFamily="Showcard Gothic">fdsafdsaf</Run>
    </Paragraph>
</Section>

Могу ли я как-то разобрать этот файл в flowdocument ?Я видел это , но я не знаю, как получить xamlstring . StreamReader не работает.Мне нужно только обернуть этот xaml файл в

<FlowDocument></FlowDocument>

После анализа в flowdocument .Я хочу сделать это:

XAML:

<FlowDocumentScrollViewer x:Name="viewer" />

Код позади:

viewer.document = *MyXamlFileAfterParsing*

1 Ответ

0 голосов
/ 03 марта 2019

Я сделал это, и это работает:

FileStream xamlFile = File.Open("HUH.xaml", FileMode.Open);            
FlowDocument cds = new FlowDocument((Block)XamlReader.Load(xamlFile));                        
viewer.Document = cds;
xamlFile.Close();
...