7

FlowDocumentPageViewer で FlowDocument コンテンツの脚注を表示する最良の方法は何ですか?

私が最初に考えたのは、FlowDocument 内の脚注アンカーの直後に脚注のコンテンツを配置し、脚注のコンテンツを、VerticalAnchor を PageBottom に設定した Figure として書式設定することでした。

これはうまく機能しますが、ページに複数の脚注がある場合、脚注は逆の順序で積み重ねられます。つまり、最初の脚注が一番下にあり、後続の脚注がその上に積み重ねられます。

このアプローチのもう 1 つの問題は、Figure では許可されていないため、長い脚注をページにまたがることができないことです。

より極端な方法は、同じことを逆に行うことです。通常のテキストを、VerticalAnchor を PageTop に設定して積み重ねた図としてフォーマットし、脚注を下部に配置します。ただし、段落 (脚注よりも長くなる傾向があります) は、ページにまたがることはありません。

他にどのようなアプローチを試すことができますか?

理想的には、印刷物に表示されるように (つまり、関連するページの下部に) 脚注を表示したいと考えていますが、他のアプローチも受け入れています。

これは、長くて頻繁な脚注が標準であり、読書体験の一部である必要がある、専門的な学術コンテンツ用のリーダー アプリ用です。このため、私は文末脚注を使用したくなく、各ページの下部に脚注を表示することを好みます。

4

1 に答える 1

3

私はこれを見てしばらく過ごしましたが、それを行うための「素晴らしく簡単な」方法がないように思われることに同意する必要があります.

Floater クラスと Figure クラスから独自のラッパー クラスを派生させようとしましたが、(少なくとも私にとっては) ページネーションがうまくいかないため、すぐに非常に複雑になります。これらの問題は、Figure は XAML で親に固定できるのに対し、Floater には必要なすべての優れた機能 (ページネーションなど) がありますが、どこにも固定できないことです...ちょっとキャッチ 22 です、.NET 4.0 でも。

ここここで役立つ2つのリンクを見つけました。最初のものは一見無関係に見えるかもしれませんが、コードを見てアイデアを得る必要があります) 私はコードをいじってみましたが、一般的なアイデアはうまくいきました。DocumentPaginator のラッパー クラスを定義するため、実際のページネーションを制御できます。

とにかくそれが少し役立つことを願っています。

于 2010-07-15T07:59:03.153 に答える