Estilos inmutables en Silverlight 2
-
02-07-2019 - |
Pregunta
¿Alguien encontró un buen patrón para sortear estilos inmutables en Silverlight 2?
Lo que quiero decir es si alguien tiene una solución para el hecho de que no se puede cambiar el estilo de un elemento mediante programación una vez que se ha configurado, es decir.la segunda línea aquí generará una excepción de falla catastrófica:
this.TestButton.Style = (Estilo)Application.Current.Resources["Fred"];
this.TestButton.Style = (Estilo)Application.Current.Resources["Barney"];
Solución
No es posible.La mejor solución que he visto es la de Nikhil Kothari de Microsoft:
http://www.nikhilk.net/Silverlight-Themes.aspx
De todos modos, existe un inconveniente importante al definir estilos centralmente en App.xaml, y es que rompe todo el soporte del diseñador cuando hace referencia a esos estilos desde otros controles de usuario.No lo he usado, pero el motor temático de Nikhil parece muy prometedor, y tengo la curiosa sensación de que muchas de sus ideas eventualmente llegarán al producto Silverlight de todos modos.
Otros consejos
El problema desaparece en Silverlight 3, donde los estilos son mutables, ¡sí!
No sé si esto ayuda, pero creo que puedes cambiar la plantilla del control tantas veces como quieras durante el tiempo de ejecución.Quizás esa sería una posible solución.