Je suis en train de construire une démo d'application en WPF, ce qui est nouveau pour moi. Je suis actuellement à l'affichage du texte dans un FlowDocument, et le besoin de l'imprimer.
Le code que j'utilise ressemble à ceci:
PrintDialog pd = new PrintDialog();
fd.PageHeight = pd.PrintableAreaHeight;
fd.PageWidth = pd.PrintableAreaWidth;
fd.PagePadding = new Thickness(50);
fd.ColumnGap = 0;
fd.ColumnWidth = pd.PrintableAreaWidth;
IDocumentPaginatorSource dps = fd;
pd.PrintDocument(dps.DocumentPaginator, "flow doc");
fd est mon FlowDocument, et pour l'instant je suis à l'aide de l'imprimante par défaut au lieu de permettre à l'utilisateur de spécifier les options d'impression. Cela fonctionne bien, sauf qu'après l'impression du document, le FlowDocument affichés sur l'écran a changé pour utiliser les paramètres que j'ai spécifié pour l'impression.
Je peux résoudre ce problème par la main de tout réinitialiser après j'ai l'impression, mais est-ce la meilleure façon de faire? Dois-je faire une copie de la FlowDocument avant que je imprimer? Ou est-il une autre approche que je devrais envisager?