Ho una vista ad albero con piccole icone visualizzate nel modello dati. Sto cercando di salvare la visualizzazione struttura come PNG utilizzando RenderTargetBitmap.WPF RenderTargetBitmap Elementi mancanti
L'immagine viene salvata correttamente su insiemi di dati di piccole dimensioni. Tuttavia, se il set di dati diventa troppo grande, alcune icone vengono escluse dall'immagine finale. Il numero magico sembra essere di 200 articoli. Non sembra importare se l'albero è profondo o largo, dopo 200 elementi, le icone non sono renderizzate.
Aggiunto Codice
ecco il mio codice che sto usando per creare un'immagine.
RenderTargetBitmap targetBitmap = new RenderTargetBitmap(
(int)_treeView.ActualWidth,
(int)_treeView.ActualHeight,
96, 96, PixelFormats.Default);
targetBitmap.Render(_treeView);
Aggiunto Screen Shot
Avviso le icone mancanti modo più sul lato destro della struttura.
Ora se crollo alcuni rami, nascondendo alcune delle altre icone, queste icone sono incluse. È quasi come RenderTargetBitmap.Render non ha il potere di rendere tutte le icone. Oppure potrebbe avere qualcosa a che fare con i pannelli virtuali.
Ecco uno sguardo più da vicino.
Puoi provare qualcosa per me; Basta impostare tutte le immagini su un'immagine 2x2. Hai ancora il limite di 200 articoli? –
@MeirionHughes Whoa! Interessante. A 2x2, non sono state visualizzate le icone. Ho aumentato le dimensioni un po 'e poi solo poche icone, come 10. Quindi, quando ho posto la domanda, il modello è stato impostato su 100x100, quindi l'ho modificato in 150x150 e tutte le icone sono state renderizzate! Quindi cosa diavolo sta succedendo ?? –
Nessuna idea ... Molto strano, sono tentato di dire che hai qualche problema con la virtualizzazione e il caching. Non stai facendo nulla con le immagini, ad esempio memorizza tutto nella stessa bitmap o qualcosa del genere? –