我有这个里面有FlowDocumentReader的WPF窗口内容:
<Window x:Class="KopiranjeProekti.UpatstvoZaKoristenjeWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:KopiranjeProekti"
mc:Ignorable="d"
Title="Упатство за Користење" Height="450" Width="800" Closing="Window_Closing">
<Grid>
<FlowDocumentReader Grid.Row="1" BorderBrush="Navy" BorderThickness="2" Name="flowReader">
<FlowDocument
Name="flowDoc"
TextAlignment="Justify"
IsOptimalParagraphEnabled="True"
IsHyphenationEnabled="True"
IsColumnWidthFlexible="True"
Background="AliceBlue"
ColumnWidth="300"
ColumnGap="20">
<Paragraph>
1. Ова е софтвер за копирање на постоечки проекти(папки) и целокупната нивна содржина.
На Виндоус 10 некои фајлови прават пречка за копирање, како на пример *.OCX(ActiveX компонента),
засебни *.EXE извршни фајлови. Затоа пожелно е фајловите кои се добиваат како извод на компајлирање
или се некакви засебни компоненти или извршни датотеки, да се чуваат надвор од папката која треба да
се ископира со нејзината содржина.
</Paragraph>
<Paragraph>
2. За да се користи апликаcијата потребно е на дискот C: да се створи папка која ќе се вика KopiranjeProekti
и во нејзе да се сними фајл Proekti.xml кој ќе има содржина налик на следнава:ж
</Paragraph>
<Paragraph>
<?xml version="1.0" encoding="utf-8" ?>
<proekti>
<sektorskiPateka>sektorski disk pateka</sektorskiPateka>
<nasPateka>Network Access Storage(NAS) disk</nasPateka>
<spodeluvanjePateka>pateka za spodeluvanje so kolegi</spodeluvanjePateka>
<mcafeeServerPateka>pateka na kompjuter kade se arhiviraat aplikaciite</mcafeeServerPateka>
<proekt>
<ime>WpfExercise1</ime>
<pateka>C:\Users\vlzak\Documents\c_sharp_vezhbi\WpfExercise1</pateka>
</proekt>
</proekti>
</Paragraph>
</FlowDocument>
</FlowDocumentReader>
</Grid>
</Window>正如您所看到的,我正在尝试解释FlowDocumentReader中给定XML文档的内容。虽然它可以工作并且可以编译,但我看到的窗口如下所示:

在WPF FlowDocumentReader中显示XML的正确方式是什么,但我希望它正确缩进,而不是在两列中?
编辑:我发现了一个名为FlowDocumentReader的标签,你可以把它放在标签中应该出现换行符的文本中。我唯一不明白的是如何在段落标签中缩进一行文本。是的,您可以缩进段落本身,但不能将段落放在段落标签中。您可以在段落标签内的span标签中对文本进行换行,但不确定如何处理它。
发布于 2020-01-10 03:38:52
Inlines的一个重载接受字符串。您可以使用XElement (假设Paragraph的名称为par)获得缩进良好的XML:
var xml_string =
@"<?xml version='1.0' encoding='utf-8'?>
<proekti>
<sektorskiPateka>sektorski disk</sektorskiPateka>
<naspateka>Network Access Storage (NAS) disk</naspateka>
</proekti>";
var xml = XElement.Parse(xml_string);
par.Inlines.Add(xml.ToString());https://stackoverflow.com/questions/59668893
复制相似问题