2010-12-22 10 views
6

Tengo un simple cuadro de texto en mi proyecto.¿Cómo puedo "restablecer" la propiedad de un control a su valor de estilo original (como Fondo)

Hice este estilo (a título ilustrativo):

<Style x:Key="{x:Type TextBox}" TargetType="{x:Type TextBox}"> 
    <Style.Setters> 
     <Setter Property="Background" Value="LightGray"/> 
    </Style.Setters> 
</Style> 

continuación, en un momento dado, lo estoy haciendo: MyTextBox.Background = Brushes.Red en mi código subyacente.

hasta allí, todo funciona bien.

ahora me gustaría poder volver al color de fondo original, pero sin tener que codificarlo en forma rígida.

i.e .: Sé que puedo hacer MyTextBox.Background = Brushes.LightGray, pero estoy buscando una forma genérica que me permita volver a la propiedad de fondo del estilo original, sin saberlo.

Intenté configurarlo como nulo, pero por supuesto me proporciona un fondo transparente, que no es lo que quiero.

¿esto es posible? y si es así, ¿cómo puedo lograr esto?

gracias

Respuesta

13
MyTextBox.ClearValue(TextBox.BackgroundProperty); 
+0

que da el hombre! muchas gracias :) – David

+0

Esto funcionó bien para mí, excepto que eliminé toda la propiedad StyleProperty. También vale la pena señalar que si configura el control como desactivado, los estilos no funcionarán como se espera. – Kosko

Cuestiones relacionadas