Pregunta

En nuestro proyecto de Silverlight 2 hemos creado una propiedad adjunta para realizar la traducción de la marcha al texto propiedades de varios controles de usuario. Para lograr esto, enlazar el evento Loaded del FrameworkElement cuando la propiedad se establece. Cuando se activa el evento, que toman el valor de la propiedad de texto existente y realizar algunas sustituciones de cadenas simples de ella, antes de sustituir el valor de la propiedad con el texto traducido. Sin embargo, esto resulta en el control que se queden con el texto no traducida, a continuación, el texto se sustituye rápidamente con la versión traducida.

¿Hay un evento alternativo podemos enganchar eso sería disparar antes de efectuar el control?

¿Fue útil?

Solución

He cambiado de código para que ahora realiza la traducción tan pronto como el definidor de la propiedad adjunta se llama. No hay necesidad de esperar a que el FrameworkElement tener terminado de cargar, como puedo cambiar la propiedad de texto mucho antes de que se preste el elemento.

Mis reflexiones iniciales sobre cómo utilizar el evento Loaded eran reducir el tiempo de inicio de la aplicación solamente por la conversión de los controles que eran visibles en la pantalla. Pues resulta que, estoy duplicar algunos de los trabajos realizados por el tiempo de ejecución, ya que el tiempo de ejecución no llamará a la incubadora hasta que la propiedad necesita de todos modos.

Otros consejos

No estoy totalmente seguro de esto, pero se puede utilizar el evento LayoutUpdated. Que se disparará cuando se cambia el tamaño del control y tal (que podría tomar medidas para asegurar que su código sólo se ejecuta una vez.)

Sé que no parece ser el caso de "derecho" para esto, pero por desgracia un poco Silverlight te deja allí de pie sosteniendo que cuando se trata de eventos.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top