Je souhaite créer un objet Window, définir des valeurs et l'envoyer directement à l'imprimante sans le montrer. Je pensais que c'était la bonne chose à faire, mais montre un document vierge.Impression d'une fenêtre masquée dans WPF
PrintDialog dlg = new PrintDialog();
ReportWindow rw = new ReportWindow(); //WPF Window object
var sz = new Size(96*8.5, 96*11); //size of a paper page, 8.5x11
rw.Measure(sz); rw.Arrange(new Rect(sz));
// rw.Show(); //want to keep it hidden
dlg.PrintVisual(rw, "report printout");
rw.Close();
Pour vérifier le code d'impression est ok, je l'ai mis dans la forme événement Loaded, appelez Show(), et il fonctionne très bien.
sans qu'il soit rendu, je doute que le visuel sera généré. – user7116
et il n'y a aucun moyen de provoquer le rendu sans appeler Show()? –
Juste une pensée folle, et si vous montrer la fenêtre quelque part en dehors de l'écran, sans le montrer dans la barre des tâches et sans l'activer? –