Question

L'une des Silverlight 4 caractéristiques énumérées dans un grand nombre de documents PDC est Aperçu avant impression.

J'ai cherché des exemples sur la façon d'utiliser et n'a rien trouvé à ce jour. Quelqu'un at-il encore ce travail? Pouvez-vous me donner quelques conseils sur la façon de mettre en œuvre une application simple web avec aperçu avant impression dans.

Était-ce utile?

La solution 3

Je pense que de l'absence de réponses et le fait que Hurricanepkt a souligné dans sa réponse Tim Heuer et d'autres parler d'une impression virtuelle qui, si displying la même chose sur l'écran pourrait être construit assez facilement dans votre propre mesure Aperçu avant impression fonctionnalité Aperçu avant impression figurant dans certaines listes est en fait ce que les gens misinterpretting documents Virtual Print sont en fait.

Autres conseils

Je ne l'ai pas vu l'aperçu avant impression que l'un d'eux, mais le soutien d'impression réelle dans laquelle vous pouvez contrôler les contrôles sont imprimés et des événements basés sur le processus d'impression.

Après avoir pendant un certain temps j'ai trouvé une façon de le faire en combinant quelques fonctionnalités que je trouve dans d'autres projets, mais ils l'ont utilisée pour la manipulation d'image. J'ai essayé avec l'impression et il semble fonctionner très bien.

Voilà comment cela fonctionne: Obtenez le conteneur de base pour le contenu d'impression converties en un bitmap en utilisant WriteableBitmap, ici une toile je vais utiliser:

WriteableBitmap wb = new WriteableBitmap(this.canvas1, null);

Utilisez cette bitmap comme source pour un contrôle d'image (peut être à l'intérieur d'un ScrollViewer, ce qui est encore mieux).

this.imagePreview.Height = wb.PixelHeight;
this.imagePreview.Width = wb.PixelWidth;
this.imagePreview.Source = wb;

Définir les unités de base de mise à l'échelle (1 pour cent utilisé dans ce cas):

Point scale = new Point();      

scale.X = imagePreview.Width/100d;
scale.Y = imagePreview.Height/100d;

Ensuite, régler la mise à l'échelle à l'aide d'un curseur (en option)

private void vSlider_ValueChanged(object sender, RoutedPropertyChangedEventArgs<double> e)
        {

                imagePreview.Height = scale.Y * vSlider.Value;
                imagePreview.Width = scale.X * vSlider.Value;           
        }
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top