0

次の XAML フラグメントがあります。

<!-- ... -->
<TabControl>
    <TabItem>
        <!-- ... -->
    </TabItem>

    <TabItem Header="Source" ScrollViewer.HorizontalScrollBarVisibility="Visible" ScrollViewer.CanContentScroll="True">
        <FlowDocumentScrollViewer>
            <FlowDocument>
                <Paragraph>
                    <TextBlock
                        Text="{Binding Path=CurrentObject.Source}"
                        FontFamily="Consolas,Courier,Segoe UI"
                        FontSize="12" 
                        />
                </Paragraph>

            </FlowDocument>
        </FlowDocumentScrollViewer>
    </TabItem>
</TabControl>
<!-- ... -->

問題は、フロー ドキュメントが水平方向にスクロールしないことです。私はそれを有効にすることができませんでした。

手がかりはありますか?

前もって感謝します。

4

1 に答える 1

1

ここにはいくつかのことがあります。1 つ目は、Paragraph でコントロールを使用すると、FlowDocument に合わせてラップする Run とは異なる機能を使用することです。

2 つ目は、FlowDocument が FlowDocumentScrollViewer に適合することです。このようにコントロールを追加すると、FlowDocument とビューアーの幅に収まり、テキストは TextBlock の境界線を超えます。これは、ドキュメントにスクロール バーが必要ないことを意味します。あなたの TextBlock はそうするでしょう。これは、TextBlock の TextWrapping プロパティを Wrap に設定することで確認できます。

これを回避するには、次のように PageWidth をビューアの幅の制限を超える値に設定します。

    <FlowDocumentScrollViewer>
        <FlowDocument PageHeight="1056"
                      PageWidth="816">
            <Paragraph>
                <TextBlock
                    Text="{Binding Path=CurrentObject.Source}"
                    FontFamily="Consolas,Courier,Segoe UI"
                    FontSize="12" 
                    />
            </Paragraph>

        </FlowDocument>
    </FlowDocumentScrollViewer>

または TextBlock にバインドします。

    <FlowDocumentScrollViewer>
        <FlowDocument PageHeight="1056"
                      PageWidth="{Binding ElementName=Part, Path=ActualWidth}">
            <Paragraph>
                <TextBlock
                    Text="{Binding Path=CurrentObject.Source}"
                    FontFamily="Consolas,Courier,Segoe UI"
                    FontSize="12" 
                    />
            </Paragraph>

        </FlowDocument>
    </FlowDocumentScrollViewer>

最後に、FlowDocumentScrollViewer には独自の Horizo​​ntalScrollBarVisibility プロパティがあり、これを使用できます (スタイリングの問題で妨げられない限り)。

于 2013-01-29T20:38:55.803 に答える