WPF DocumentViewerのメニューバーをどのように非表示にしますか?
-
22-07-2019 - |
質問
現時点では、XPSファイルを表示するWPFウィンドウに DocumentViewer
があります。独自の「次のページ」を作成しました。および「前のページ」ボタンと DocumentViewer.Background
プロパティを完全に透明に設定しました。
DocumentViewer独自のコントロールの左側にあるのは、上部のメニューバー(ズーム設定、印刷などを表示)と「検索」;下部のバー。これらのバーを両方とも削除(または非表示)したいのですが、どうすればよいかわかりません!?
また、ドキュメントが読み込まれると、画面上のページ全体を表示しないズームレベルがデフォルトになります。一度に1ページずつ(完全に)表示するように変更する必要があります。これを行う方法はあると確信していますが、繰り返しますが、まだ方法がわかりません。
解決
ツールバーを削除するには、DocumentViewerのコントロールテンプレートを変更する必要があります。
このリンクのテンプレートから開始 http://msdn.microsoft.com /en-us/library/aa970452.aspx ToolBar要素を削除します(下部にx:Name =" PART_FindToolBarHost"を含むContentControlもあります)。
ズームの設定については、エレガントなXAMLソリューションはありませんが、ドキュメント(および必要に応じてすべてのページ、既に独自の次/前のページがあります)を読み込んだ後にDocumentViewerのFitToWidthまたはFitToHeightメソッドを呼び出すことができますそれらのメソッドを呼び出すことができるコード)
他のヒント
これは、簡単な「回避策」です。コントロールテンプレート全体をオーバーライドする必要のない要素を非表示にする方法:
<DocumentViewer>
<DocumentViewer.Resources>
<!-- Hides the search box-->
<Style TargetType="ContentControl">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
<!-- Hides the toolbar -->
<Style TargetType="ToolBar">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
</DocumentViewer.Resources>
</DocumentViewer>