Come costruire modulo di domanda di fusione / documento di completamento con WinForms o WPF?
-
22-09-2019 - |
Domanda
Ho bisogno di costruire un'applicazione che accetta dati di input utente (ad esempio nome, indirizzo, numero, ecc) e poi si fonde con un modello di documento pre-caricati (modulo d'ordine) e quindi stampa questo documento unito. Posso usare Windows Form o WPF per questo progetto.
Qualche suggerimento su come meglio affrontare questo? Sono vissuto con lo sviluppo WinForms, ma non hanno alcuna idea di come gestire la fusione i dati al documento per la stampa.
Soluzione
WPF grandi opere per questo.
È possibile creare modelli di documento da elementi WPF UI, come una pagina o un UserControl. Impostare il modello di come ci si imposta alcuna interfaccia utente nella finestra di progettazione VS. Determinare quale forma i vostri dati saranno memorizzati in (questo sarà il vostro DataContext), poi si legano contro le proprietà pubbliche. Poi si può rilasciare il modello unito in un FixedPage e aggiungerlo a un documento XPS. È possibile stampare che molto facilmente o salvarlo su disco.
algoritmo semplificato:
- Creare un form di inserimento dati.
- Creare un tipo che conterrà i dati dal modulo (chiamare questo tipo Foo)
- Creare un modello di pagina che lega contro Foo (quando un'istanza Foo è il DataContext)
- Associare il modulo a un'istanza di Foo
- Avere l'utente compila il modulo (e quindi l'istanza di Foo)
- Creare un'istanza del template (assumere la sua una pagina)
- Imposta Page.DataContext = fooInstance;
- Aggiungi questa pagina ad un FixedPage, quindi aggiungere ad un documento fissa
- Salvare il FixedDocument a un documento XPS
- Salvare il documento XPS o inviarlo ad un PrintQueue
che sto facendo qualcosa di simile a questo e funziona bene. Basta andare al mio profilo e leggere tutte le mie domande. Essi coprono la maggior parte dei bit dure di tutta la procedura.
Altri suggerimenti
È necessario utilizzare Stampa unione. Una stampa unione è un metodo di prendere i dati da un database, foglio di calcolo, o di altra forma di dati strutturati, e inserendolo in documenti quali lettere, etichette postali e tag. Inizia da questo articolo.