2009-11-25 16 views
7

Tengo WPF ListBox que muestra una gran cantidad de datos. Necesito un desplazamiento suave, así que configuré ListBox.ScrollViewer.CanContentScroll en False que deshabilita la virtualización. Ahora cuando abro la pestaña donde está ubicado este ListBox, no veo nada por unos pocos segundos porque ListBox está cargando/creando elementos/renderizado. También tengo un control que muestra una animación que indica que la aplicación se está ejecutando y el usuario debe esperar un poco.¿Cómo se muestra algo de animación mientras se está procesando el control?

¿Cómo puedo mostrar este control mientras ListBox no está disponible?

+0

quizás más detalles ¿sería útil? Cosas como ... en qué idioma y marco estás trabajando ... Desafortunadamente, se usan términos como "ListBox" en muchos lugares. – Paul

+0

Está etiquetado con WPF. – GraemeF

+0

¿cuántos artículos tienes en la lista? –

Respuesta

2

Agregue una cuadrícula en la ubicación de su cuadro de lista y coloque dentro su ListBox y su control de animación. De esta forma, se colocan en el mismo lugar. El control de animación debe estar en la parte superior del orden z y así se muestra. Una vez que ListBox haya terminado de cargarse, ocultaría el control de animación y, por lo tanto, se mostraría el ListBox. Cada vez que necesite realizar otra operación larga, configure el control de animación para que sea visible nuevamente.

+2

¿Cómo determinar que listbox ya se ha procesado? Y la representación se realiza en el mismo hilo que "anima" la animación, por lo que no tendrá ningún efecto. O no estoy en lo cierto? Ya estoy usando esta técnica, pero cuando necesito mostrar que una operación larga de fondo (que funciona en otro hilo) (no gui) está en progreso. – levanovd

Cuestiones relacionadas