2010-06-22 4 views
7

FlowDocumentPageViewer에서 FlowDocument 내용의 각주를 표시하는 가장 좋은 방법은 무엇입니까?WPF FlowDocument에서 각주 구현

첫 번째 생각은 각주의 내용을 FlowDocument 내의 각주 앵커 바로 뒤 따르고 각주 내용을 Figure로 형식화하고 VerticalAnchor를 PageBottom으로 설정하는 것이 었습니다.

페이지에서 여러 개의 각주가있는 경우 각주가 역순으로 스택됩니다. 즉, 첫 번째 각주가 맨 아래에 있으며 그 위에 이어지는 각주가 쌓입니다.

이 접근법의 또 다른 어려움은 그림에서 허용하지 않는 긴 각주가 페이지를 스팬하는 것을 허용하지 않는다는 것입니다.

더욱 극단적 인 접근법은 VerticalAnchor가 PageTop으로 설정된 누적 형으로 일반 텍스트를 역순으로 서식 화하고 각주를 아래쪽으로 흐르게하는 것입니다. 단락 (각주보다 긴 경향이있는 단락)은 이제 페이지를 스팬하지 않습니다.

다른 방법을 시도해 볼 수 있습니까?

각주를 인쇄물 (예 : 관련 페이지 하단)에 표시하는 것이 이상적이지만 다른 접근법에 대해서는 열려 있습니다.

길고 빈번한 각주가 일반적이며 독서 경험의 일부 여야하는 특수 학술 콘텐츠 용 독자용 앱입니다. 이런 이유로 나는 미주를 사용하기를 원하지 않으며 각 페이지 하단에 표시된 각주를 선호합니다.

답변

3

나는 이것을 보면서 잠깐 보냈는데, "멋지고 쉬운"방법으로 보이지 않는다는 것에 동의해야합니다.

플로터와 그림 클래스에서 내 자신의 래퍼 클래스를 파생 시키려고했으나 페이지 매김이 무시 무시한 (적어도 나를 위해) 운동하기 때문에 매우 빠르게 복잡하게됩니다. 이 문제는 그림이 XAML의 상위 요소에 고정 될 수 있지만 Floater는 필요한 모든 기능 (페이지 매김과 같은)을 갖추고 있지만 어디에도 고정시킬 수는 없다는 것입니다. Catch 22의 비트 .NET 4.0에서도 마찬가지입니다.

두 개의 링크 herehere이 도움이 될 것 같습니다. 처음에는 약간 낯선 것처럼 보일지 모르지만 코드를 살펴보고 아이디어를 얻어야합니다.) 코드와 일반 아이디어로 돌아 다녔습니다. DocumentPaginator 주위에 래퍼 클래스를 정의하므로 실제 페이지 매김을 제어 할 수 있습니다.

어쨌든 도움이 되었기를 바랍니다.

관련 문제