フォーム完了/ドキュメントマージアプリケーションをWinformsまたはWPFと構築する方法は?
-
22-09-2019 - |
質問
ユーザー入力データ(名前、アドレス、金額など)を受け入れるアプリケーションを作成し、それをプリロードしたドキュメントテンプレート(注文フォーム)とマージし、このマージされたドキュメントを印刷する必要があります。このプロジェクトには、WindowsフォームまたはWPFを使用できます。
これにどのようにアプローチするのが最善かについての提案はありますか?私はWinforms開発の経験がありますが、印刷のためにドキュメントにデータをマージする方法を処理する方法がわかりません。
解決
WPFはこれに最適です。
ページやUserControlなどのWPF UI要素からドキュメントテンプレートを作成できます。 VSデザイナーでUIをセットアップするようにテンプレートを設定します。データが保存される形状を決定し(これはdatacontextになります)、そのパブリックプロパティにバインドします。次に、マージしたテンプレートを固定ページにドロップし、XPSドキュメントに追加できます。それを非常に簡単に印刷するか、ディスクに保存することができます。
簡素化されたアルゴリズム:
- データ入力フォームを作成します。
- フォームからデータを保持するタイプを作成します(このタイプのfooを呼び出してください)
- fooにバインドするページテンプレートを作成します(fooインスタンスがdatacontextである場合)
- フォームをFooのインスタンスにバインドします
- ユーザーにフォームに記入してもらいます(そして、それによってfooのインスタンス)
- テンプレートのインスタンスを作成します(そのページを想定します)
- page.datacontext = fooinstanceを設定します。
- ページを固定ページに追加し、これを固定ドキュメントに追加します
- XPSドキュメントの固定文書を保存します
- XPSドキュメントを保存するか、printqueueに送信します
私はこれに似たことをしていますが、うまくいきます。プロフィールにアクセスして、すべての質問を読んでください。それらは、手順全体のほとんどのハードビットをカバーしています。
他のヒント
メールマージを使用する必要があります。メールマージは、データベース、スプレッドシート、またはその他の形式の構造化データからデータを取得し、文字、郵送ラベル、名前タグなどのドキュメントに挿入する方法です。から始まる この記事。
所属していません StackOverflow