FlowDocumentScrollViewer不会滚动

时间:2009-09-03 10:42:51

标签: wpf xaml scroll flowdocument

我正在尝试找到一种最可扩展的方式在窗口内显示FlowDocument - 只是FlowDocument。我有:

<FlowDocumentScrollViewer x:Name="message" HorizontalScrollBarVisibility="Disabled" VerticalScrollBarVisibility="Visible">

然后在Window的构造函数中,我将查看器的Document设置为从XAML加载的(在代码中)。 XAML包含:

<FlowDocument xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Background="{x:Null}"
          FontSize="12" FontFamily="Segoe UI"  PagePadding="2">
<BlockUIContainer>
    <BlockUIContainer.Resources>
        <Style TargetType="{x:Type TextBlock}">
            <Setter Property="TextWrapping" Value="Wrap"/>
        </Style>
    </BlockUIContainer.Resources>
    <StackPanel MaxWidth="200">
        <TextBlock Text="{Binding DefinedWord}" FontWeight="Bold"  />
        <ListBox ItemsSource="{Binding Definitions}"
                 Style="{StaticResource InvisibleListBox}" Margin="0"
                 ScrollViewer.HorizontalScrollBarVisibility="Disabled" 
                 ScrollViewer.VerticalScrollBarVisibility="Disabled" 
                 ScrollViewer.CanContentScroll="false">
...

无论我尝试什么,FlowDocumentScrollViewer都不会滚动,我看不到文档的截断部分。它与BlockUIContainer有什么关系,还是我错过了其他什么?

3 个答案:

答案 0 :(得分:1)

我最终通过将文档中的ListBox设置为IsHitTestVisible="false",然后将Width模板中的文本块的ListBoxItem绑定到{{}来实现此功能1 {} ActualWidth

答案 1 :(得分:0)

Flexible Content Display With Flow Documents

  

摘要:FlowDocumentScrollViewer -   此控件显示文档   用滚动条连续流动,   类似于网页或Web布局   在Microsoft Word中。

答案 2 :(得分:0)

对我而言,FlowDocumentScrollViewer的替代选项已成功,

参见中的示例, http://msdn.microsoft.com/en-us/library/system.windows.controls.richtextbox.aspx

其他选项可能是FlowDocumentPageViewerFlowDocumentReader