2010-06-03 14 views
5

Ho un host dell'elemento con 3 controlli WPF. Sto posizionando l'host dell'elemento su una winform. All'avvio dell'applicazione, l'host dell'elemento impiega alcuni secondi e la videata viene visualizzata come una schermata vuota.Problema di caricamento dell'host dell'elemento con winform

Come risolvere il problema? Qualsiasi idea è apprezzata. Fondamentalmente, non voglio visualizzare lo schermo vuoto perché sembra brutto quando l'applicazione è in arrivo.

risposta

1

Questo mi sembra davvero strano. Ho usato ElementHost in precedenza e non ho notato alcun ritardo serio nel caricamento dei controlli figlio.

Sarebbe utile se si potesse provare ad isolare il problema sostituendo i controlli con un solo controllo TextBox semplice. Quanto tempo ci vuole per caricare, quindi?

Il mio sospetto è che ci sia effettivamente qualcosa nella logica di controllo che impiega molto tempo per completare e ritardare il caricamento del controllo. Se riesci a capire di cosa si tratta, a velocizzarlo o a rendere l'elaborazione asincrona (considera l'utilizzo di Reactive Extensions), ti libererai almeno dello schermo nero. Un profiler (Visual Studio o ANTS) sarebbe di grande aiuto nel ridurlo.

1

È possibile accelerare il tempo di caricamento per modello di carico finestra carico & chiudere l'applicazione avvia (Questo è solo un trucco :))

è sufficiente creare una nuova finestra con uno o due host elementi e aggiungere il loro bambino WPF controlli. non è necessario implementare alcuna logica o impostare alcuna proprietà, è sufficiente aggiungere i controlli figlio.

Quindi all'avvio dell'applicazione caricare la finestra del modello e chiudere (impostare la posizione di caricamento lontano dal limite dello schermo). (se lo desideri puoi anche usare la finestra originale)

quindi la finestra si aprirà normalmente.

Problemi correlati