問題タブ [xps]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wpf - WPF を使用して XPS ドキュメントを表示する別の方法
WPF アプリケーションで XPS ドキュメントを表示するための、DocumentViewer 以外の代替手段はありますか? 可能であれば、.NET ですぐに使用できるコントロールまたはクラス。
これは、ページをスクロールしているときに DocumentViewer が少し遅いためです。
ありがとう!
xaml - XPS または XAML ビューアーを .NET アプリに埋め込むには?
XPS ドキュメントや XAML GUI を .NET アプリケーションに埋め込むために使用できるビューア オブジェクトや ActiveX コントロールはありますか?
data-binding - XpsDocument への印刷時にデータバインディングが失われるのはなぜですか?
アップデート!
バインディングが機能します。問題は、XpsDocumentWriter が FixedDocumentSequence の最初のドキュメントの最初のページを正しく書き込めないことです。これは、この種の作業を行っている多くの人々 (つまり、世界中で 5 人の開発者) が遭遇する問題のようです。解決策は少し奇妙です。私はそれを答えとして含めます。
さて、質問が示唆するよりも少し微妙です。
一連の FixedPages があり、それぞれに DataContext が個別に設定されています。各 FixedPage には、コンテキストにバインドされた 1 つ以上のコントロールもあります。
これらの FixedPages を 1 つの FixedDocument に追加し、この 1 つの FixedDocument を XpsDocument に書き込むと、バインドが参照解除され (いわば)、正しい値が XpsDocument に表示されます。
これらの FixedPages を個々の FixedDocuments に追加すると (各 FP が新しい FD に追加されます)、これらの FixedDocuments が FixedDocumentSequence に追加され、このシーケンスが XpsDocument に書き込まれます。バインドは逆参照されず、FixedPages は空白で表示されます。 .
デバッグによって、バインディングまたはバインディング コンテキストが失われていないことがわかります。これは、この失敗の原因ではありません。
何が起こっているかを説明するためのサンプルコードを次に示します。
2 つの唯一の違いは、固定ドキュメントを固定ドキュメント シーケンスに追加していることであり、それが書き込まれることがわかります。
明らかに、データバインディングが評価され、バインドされた値が挿入される原因となる魔法は、固定ドキュメントが Xps ドキュメントに書き込まれていない場合には発生しません。複数の固定ドキュメントを書き込む必要があり、Write メソッドは 1 回しか呼び出せないため、FixedDocuments を FixedDocumentSequence に追加してから書き込む必要があります。しかし、同様に機能するには、いまいましいデータバインディング も必要です!
この状況での助けをいただければ幸いです。フレームワークの最も一般的な部分ではないことはわかっています。ここにいる誰かがこれに関する運用経験を持っていることを願っています(私はあなたを見ています、潜んでいるMSの従業員です)。
wpf - コンテンツ モデル コントロールで FixedPage マークアップを使用するにはどうすればよいですか?
WPF で、XPS ファイルの FixedPage のマークアップをContent
プロパティを持つコントロール (例Button.Content = XamlReader.Load(<FixedPage markup>)
) に渡そうとしました。
FixedPage マークアップの例:
コントロールは、FixedPage マークアップで参照されているリソースを取得できませんでした。
しかし、"c:\1.jpg"ImageSource
のようなローカル パス ファイルに変更し、リソース ファイルを同じ場所に配置すると、コントロールは FixedPage マークアップを表示できるようになります。
私の質問は、FixedPage マークアップの変更を避けるために、コントロールがリソースの相対 URI を保持しながら FixedPage を表示する方法はありますか? メモリ内の XPS ファイルの構造をマッピングし、?への呼び出し中にクラスBaseUri
によって FixedPage マークアップの を設定するように これは可能ですか?ParserContext
XamlReader.Load()
c# - WPF (XAML) コントロールを XPS ドキュメントに変換する
既存の WPF (XAML) コントロールを取得してデータバインドし、WPF XPS ドキュメント ビューアーを使用して表示および印刷できる XPS ドキュメントに変換できますか? もしそうなら、どのように?そうでない場合、XPS/PDF/etc を使用して WPF で「レポート」を行うにはどうすればよいですか?
基本的に、既存の WPF コントロールを取得し、データバインドして有用なデータを取得し、エンド ユーザーが印刷および保存できるようにします。理想的には、ドキュメントの作成はメモリ内で行われ、ユーザーが特にドキュメントを保存しない限り、ディスクにヒットしません。これは実現可能ですか?
printing - XPS ドキュメントの印刷タイリング
現在、用紙に対して幅が大きすぎる XPS ドキュメントがあります。切り取った内容を追加のページに印刷したいと思います。これを達成するための設定を見つけることに成功していません。
解決策のアイデアはありますか?
printing - WPF XPS ビューアーを使用して XPS を印刷するときの既定のレイアウトの向き
WPF XPS ビューアーを使用して XPS を印刷するときに、既定のレイアウトの向きを設定する方法はありますか?
固定ドキュメント XPS のページの向きは横に設定されています。ページ メディア サイズの幅は高さよりも長く、ビューアーでは横として正しく表示されます。印刷ボタンを押すと、印刷ダイアログの設定がデフォルトでポートレートに設定され、そのまま印刷されます。
ユーザーの既定の印刷設定を変更する必要はありません。XPS ビューアーが XPS を印刷用に設計されたとおりに印刷することを望んでいます。
c# - 既存の XPS ドキュメントでのデータ バインディング
テンプレートとして使用したい既存の XPS ファイルがあり、それにデータをバインドする可能性があります。いくつかの方法を試しましたが、うまくいかないようです。
既存の XPS ファイルを変更して実行時にデータを追加し、印刷または保存した経験のある人はいますか?
どんな助けでも大歓迎です。
.net - DocumentViewer コントロールを使用する場合、印刷ジョブの名前を設定するにはどうすればよいですか?
私は WPF DocumentViewer コントロールを使用して、次のように XPS ドキュメントを表示しました。
ドキュメント ビューア内の印刷ボタンをクリックすると、すべて正常に印刷されますが、印刷ジョブの名前は System.Windows.Documents.FixedDocumentSequence であり、理想的とは言えません。
印刷ジョブの名前を設定するにはどうすればよいですか?
PrintDialog.PrintDocument() を使用すると名前を設定できることはわかっていますが、DocumentViewer コントロールを使用してそれを行う方法がわかりません。
c# - XPSフォーム入力
C#でXPSドキュメントをフォームに入力する方法はありますか?