我在一个4行x 2列的网格中有以下XAML。Grid.ColumnDefinitions的两个ColumnDefinition宽度都设置为*。
<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,看起来很好,可以正确地垂直滚动。但是,当某个项目不能水平放置在TextBlock中时,文本块将不会换行,FlowDocumentScrollViewer也不会显示滚动条。查看文本的唯一方法是水平扩展窗口。有人知道我做错了什么吗?为什么TextWrapping设置不受欢迎?
如果重要的话,这里使用的是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}" />


发布于 2011-06-21 02:59:39
使用这个
<ItemsControl ItemsSource="{Binding ReceivedData, Mode=OneWay}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock TextWrapping="Wrap" Text="{Binding /, Mode=OneWay}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>发布于 2020-07-24 18:11:13
您可以通过使用ListView来引入滚动条,如下所示
<Section Name="Gallery">
<Paragraph>
<ListView ItemsSource="{Binding GalleryCards}"
BorderBrush="Transparent"
HorizontalAlignment="Center"
ScrollViewer.HorizontalScrollBarVisibility="Disabled"
Padding="10"
Width="{Binding ElementName=Viewer, Path=RenderSize.Width, Converter={StaticResource DocumentSizeConverter}, ConverterParameter=80, UpdateSourceTrigger=PropertyChanged}">
<ListView.ItemTemplate>
<DataTemplate>
<ContentControl s:View.Model="{Binding .}"/>
</DataTemplate>
</ListView.ItemTemplate>
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel HorizontalAlignment="Center" />
</ItemsPanelTemplate>
</ListView.ItemsPanel>
</ListView>
</Paragraph>
</Section>https://stackoverflow.com/questions/6400636
复制相似问题