Silverlight brinda la posibilidad de cambiar los estilos de nuestra aplicación de la manera que queramos, por lo que si elegimos algún tema con colores oscuros, nos podíamos encontrar con este problema
Un TextBox donde el fondo es negro, por lo que no podemos visualizar el cursor para saber donde estamos parados.
Silverlight 3 nos da la posibilidad de poder cambiar el color del cursos para que no interfiera con el estilo que queremos agregar.
Vemos que ahora tenemos el cursor de color blanco, permitiendo ver donde estamos parados.
Este es el código desde el XAML
|
1 |
<span style="color: #0000ff"><</span><span style="color: #800000">TextBox</span> <span style="color: #ff0000">Height</span><span style="color: #0000ff">="25"</span> |
|
1 |
<span style="color: #ff0000">Width</span><span style="color: #0000ff">="250"</span> |
|
1 |
<span style="color: #ff0000">Foreground</span><span style="color: #0000ff">="White"</span> |
|
1 |
<span style="color: #ff0000">Background</span><span style="color: #0000ff">="Black"</span> |
|
1 |
<span style="color: #ff0000">Text</span><span style="color: #0000ff">="Cursor en Blanco"</span> |
|
1 |
<span style="color: #ff0000">CaretBrush</span><span style="color: #0000ff">="White"</span> <span style="color: #0000ff">/></span> |
La propiedad importante es CaretBrush, que nos permite definir el color que necesitamos.
También podemos darle un toque más complejo.
Este es el código desde el XAML
|
1 |
<span style="color: #0000ff"><</span><span style="color: #800000">TextBox</span> <span style="color: #ff0000">Height</span><span style="color: #0000ff">="25"</span> |
|
1 |
<span style="color: #ff0000">Width</span><span style="color: #0000ff">="250"</span> |
|
1 |
<span style="color: #ff0000">Foreground</span><span style="color: #0000ff">="White"</span> |
|
1 |
<span style="color: #ff0000">Background</span><span style="color: #0000ff">="Black"</span> |
|
1 |
<span style="color: #ff0000">Text</span><span style="color: #0000ff">="Cursor con LinearGradient"</span><span style="color: #0000ff">></span> |
|
1 |
<span style="color: #0000ff"><</span><span style="color: #800000">TextBox.CaretBrush</span><span style="color: #0000ff">></span> |
|
1 |
<span style="color: #0000ff"><</span><span style="color: #800000">LinearGradientBrush</span> <span style="color: #ff0000">StartPoint</span><span style="color: #0000ff">="0,0"</span> |
|
1 |
<span style="color: #ff0000">EndPoint</span><span style="color: #0000ff">="0,1"</span><span style="color: #0000ff">></span> |
|
1 |
<span style="color: #0000ff"><</span><span style="color: #800000">GradientStop</span> <span style="color: #ff0000">Color</span><span style="color: #0000ff">="Orange"</span> |
|
1 |
<span style="color: #ff0000">Offset</span><span style="color: #0000ff">="0"</span> <span style="color: #0000ff">/></span> |
|
1 |
<span style="color: #0000ff"><</span><span style="color: #800000">GradientStop</span> <span style="color: #ff0000">Color</span><span style="color: #0000ff">="Pink"</span> |
|
1 |
<span style="color: #ff0000">Offset</span><span style="color: #0000ff">=".5"</span> <span style="color: #0000ff">/></span> |
|
1 |
<span style="color: #0000ff"><</span><span style="color: #800000">GradientStop</span> <span style="color: #ff0000">Color</span><span style="color: #0000ff">="Orange"</span> |
|
1 |
<span style="color: #ff0000">Offset</span><span style="color: #0000ff">="1"</span> <span style="color: #0000ff">/></span> |
|
1 |
<span style="color: #0000ff"></</span><span style="color: #800000">LinearGradientBrush</span><span style="color: #0000ff">></span> |
|
1 |
<span style="color: #0000ff"></</span><span style="color: #800000">TextBox.CaretBrush</span><span style="color: #0000ff">></span> |
|
1 |
<span style="color: #0000ff"></</span><span style="color: #800000">TextBox</span><span style="color: #0000ff">></span> |
Vemos que podemos definirle variantes de color para generar un efecto más interesante.
Otro punto importante, es que pasa si queremos seleccionar una parte del contenido del TextBox. Tenemos dos propiedades que nos permiten definir el color de fondo y el de selección (SelectionBackground y SelectionForeground).
Veamos el código XAML
|
1 |
<span style="color: #0000ff"><</span><span style="color: #800000">TextBox</span> <span style="color: #ff0000">Height</span><span style="color: #0000ff">="25"</span> |
|
1 |
<span style="color: #ff0000">Width</span><span style="color: #0000ff">="250"</span> |
|
1 |
<span style="color: #ff0000">Foreground</span><span style="color: #0000ff">="White"</span> |
|
1 |
<span style="color: #ff0000">Background</span><span style="color: #0000ff">="Black"</span> |
|
1 |
<span style="color: #ff0000">Text</span><span style="color: #0000ff">="Color en Selección de Texto"</span> |
|
1 |
<span style="color: #ff0000">CaretBrush</span><span style="color: #0000ff">="White"</span> |
|
1 |
<span style="color: #ff0000">SelectionBackground</span><span style="color: #0000ff">="White"</span> |
|
1 |
<span style="color: #ff0000">SelectionForeground</span><span style="color: #0000ff">="Black"</span> <span style="color: #0000ff">/></span> |
Esta cuestión no está dentro de las novedades más conocidas, pero es algo importante que puede solucionar algunos problemas a la hora de diseñar la aplicación.



