La nostra applicazione ha un numero di oggetti su una tela; la tela è contenuta in un visualizzatore di scorrimento. Abbiamo anche un controllo a scorrimento e alcuni pulsanti, sempre centrati nella parte superiore della finestra.
Sto provando a stampare l'applicazione acquisendo una bitmap dell'applicazione, ma senza alcuna "decorazione": cursore, pulsanti o barre di scorrimento.SL 4 - Ridisegno forzato dell'albero visivo
_scrollViewer.HorizontalScrollBarVisibility = ScrollBarVisibility.Hidden;
_scrollViewer.VerticalScrollBarVisibility = ScrollBarVisibility.Hidden;
var s = xSlider;
s.Visibility = Visibility.Collapsed;
var b = xPlusButton;
b.Visibility = Visibility.Collapsed;
b = xMinusButton;
b.Visibility = Visibility.Collapsed;
b = xButton;
b.Visibility = Visibility.Collapsed;
Il cursore ei pulsanti sono nascosti, come previsto, ma le barre di scorrimento no.
Sospetto che l'applicazione debba ridisegnare il layout per nascondere le barre di scorrimento. C'è un modo per farlo accadere? Ciò è reso più complicato dal fatto che l'operazione di stampa in SL 4 deve essere avviata da un gesto dell'interfaccia utente; non c'è modo (AFAIK) di iniziare in modo programmatico, quindi questo ridisegno deve avvenire in uno dei gestori di eventi di PrintDocument.
Grazie per eventuali suggerimenti ....
Puoi mostrare l'Xaml della tela che stai stampando? Il commento "Catturare una bitmap" suona un po 'fuori, puoi fare l'eloborate? – AnthonyWJones
Non riesco davvero a mostrare l'xaml, dal momento che tutti gli oggetti vengono aggiunti in fase di esecuzione e fanno un uso pesante dei modelli. Credo che i modelli causino il danno; dopo aver passato la tela al PrintDocument, l'albero non viene mai ridisegnato (almeno non completamente). Ciò che appare come output di stampa sono molti oggetti mancanti o non disegnati in modo incompleto. Stiamo cercando di catturare una bitmap della tela per aggirare il problema dell'oggetto disegnato in modo incompleto. – Number8
Puoi pubblicare il tuo codice per catturare bitmap? –