我需要创建一个可打印的数据表示,因为我已经创建了一些控件来编辑数据实体,我认为我可以使用列表框或类似的东西一个接一个地将其放入流文档中可打印的版本。我通过以下方式做了一些概念验证:
<FlowDocumentReader>
<FlowDocument x:Name="flowDoc" PageWidth="793" PageHeight="1122" Background="AntiqueWhite" PagePadding="48" ColumnWidth="793">
<Paragraph>
<v:DisplayEntityV DataContext="{Binding MySample, Mode=OneWay, Source={StaticResource AppDataContext}}" />
</Paragraph>
</FlowDocument>
</FlowDocument>
如果我改变这样的段落
<Paragraph>
<ListBox ItemsSource="{Binding MyListOfSamples, Mode=OneWay, Source={StaticResource AppDataContext}}">
<ListBox.ItemTemplate>
<DataTemplate>
<v:DisplayEntityV DataContext="{Binding Mode=OneWay}" />
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Paragraph>
我只获得一个段落,DisplayEntityV
之间没有任何分页符。我得出结论,对于我的情况,它必须反过来:内部结构应该是段落,外部结构应该是一个列表,但我只能在List
中使用FlowDocument
创建一个项目符号列表,没有数据绑定功能。
我真的更喜欢像列表框这样的东西,我可以绑定我想要显示的项目(因为这样我有利于在设计时看到它至少与样本数据一样)而不是添加运行时代码中的项目。任何建议都非常受欢迎。