2011-03-22 16 views
7

Me pregunto si es posible establecer el fondo de mi StackPanel para el usuario de Windows 7 que seleccionó el color de acento (tema). He oído que se supone que debes usar estilos para que se pueda usar para todos los StackPanels en la página actual de xaml. Sin embargo, estoy un poco perdido.Establecer el fondo de StackPanel para el color de acento (tema) seleccionado WP7

Ejemplo de mi color de fondo estática actual:

<StackPanel Width="400" Background="#FF1BA1E2" Margin="0, 10, 0, 0" Tag="ABC"> 
     <TextBlock Text="ABC" FontSize="50" Margin="10" /> 
</StackPanel> 

Gracias por la ayuda de antemano.

PD: En caso de que alguien se esté preguntando, el valor hexadecimal "# FF1BA1E2" es el color del acento azul predeterminado de WP7 (tema).

Respuesta

13

utilizar el construido en recursos estáticos para obtener automáticamente el color del tema:

Background="{StaticResource PhoneAccentBrush}" 
+0

Intenté usarlo, pero recibí una excepción mientras la aplicación cargaba esa página. Attribute {StaticResource PhoneTextAccentStyle} value is out of range. Spalatum

+0

@Spalatum ¿qué era hte exception? –

+0

@Spalatum Lo siento, mi error solucionó el ejemplo. Me enseñará a probar las cosas primero, no a confiar en la memoria. –

3

me he encontrado con la misma excepción al intentar esto. simplemente intente Aplicar Enlace al Background a través de la pestaña Propiedades. o codificar esto en el archivo XAML, al elemento StackPanel

Background="{Binding Source={StaticResource PhoneAccentBrush}}"

que resuelve la excepción. :)

+0

¡Muy inteligente! Para mí, esto fue necesario para un fondo de 'Botón'. –

Cuestiones relacionadas