【发布时间】:2011-09-18 01:00:51
【问题描述】:
我在 4 行 x 2 列网格中有以下 XAML。 Grid.ColumnDefinitions 的 ColumnDefinition Width 都设置为 *。
<FlowDocumentScrollViewer Style="{StaticResource myFlowDoc}"
Grid.Row="4"
Grid.Column="1" >
<FlowDocument >
<Paragraph LineHeight="12" >
<ItemsControl ItemsSource="{Binding ReceivedData, Mode=OneWay}" />
<TextBlock TextWrapping="Wrap" Text="{Binding /, Mode=OneWay}" />
</Paragraph>
</FlowDocument>
</FlowDocumentScrollViewer>
数据来自 ObservaleCollection
如果这里重要的是样式 myFlowDoc
<Style x:Key="myFlowDoc">
<Setter Property="Control.Padding"
Value="0" />
<Setter Property="FlowDocumentScrollViewer.IsToolBarVisible"
Value="True" />
<Setter Property="Control.MinHeight"
Value="150" />
<Setter Property="Control.BorderBrush"
Value="SteelBlue" />
<Setter Property="Control.BorderThickness"
Value="2" />
<Setter Property="Control.VerticalAlignment"
Value="Stretch" />
</Style>
[编辑 1] 这是带有应该换行的错误消息的全屏。在此图像下方,我有一个仅显示消息详细信息区域,窗口较宽,因此您可以看到整个消息。我还将用户控件的整个 xaml 放在https://gist.github.com/1036178#
[编辑 2.1] @Navid 的建议让我间接得到了答案。删除“/”并将内容包装在数据模板中似乎可以解决问题。这是新的 XAML
<DataTemplate x:Key="StringCollection">
<TextBlock TextWrapping="Wrap" Text="{Binding}" TextAlignment="Left"/>
</DataTemplate>
<!--... now down in the ItemsControl-->
<ItemsControl ItemsSource="{Binding ReceivedData, Mode=OneWay}"
ItemTemplate="{StaticResource StringCollection}" />
【问题讨论】:
-
我看不出有什么问题可以发截图吗?
-
我不确定感知屏幕截图的最佳方式是什么,所以我只是编辑了原始帖子,我用“正常”宽度的窗口拍摄了一张照片,然后是详细信息之一我已将窗口设置得足够宽以便您可以看到整个消息的区域。我还提供了一个完整的 xaml 文件的链接。
-
你能描述一下
<ItemsControl ItemsSource="{Binding ReceivedData, Mode=OneWay}" /> <TextBlock TextWrapping="Wrap" Text="{Binding /, Mode=OneWay}" />
标签: wpf flowdocument textblock flowdocumentscrollviewer