2010-12-22 8 views
6

Ich habe eine einfache TextBox in meinem Projekt.Wie kann ich die Eigenschaft eines Steuerelements auf seinen ursprünglichen Stilwert zurücksetzen (wie Hintergrund)

Ich habe diesen Stil (als Beispiel):

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

dann an einem Punkt, ich tue: MyTextBox.Background = Brushes.Red in meinem Code-Behind.

bis dahin funktioniert alles gut.

jetzt möchte ich in der Lage sein, zu der ursprünglichen Hintergrundfarbe zurückzukehren, aber ohne sie hart zu codieren.

: Ich weiß, ich kann MyTextBox.Background = Brushes.LightGray tun, aber ich bin auf der Suche nach einem generischen Weg, der es mir ermöglichen würde, die Hintergrundeigenschaft des ursprünglichen Stils wiederherzustellen, ohne es zu wissen.

Ich habe versucht, es auf Null setzen, aber natürlich gibt es mir einen transparenten Hintergrund, der ist nicht was ich will.

ist das überhaupt möglich? und wenn ja, wie kann ich das erreichen?

dank

Antwort

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

Sie da man! Vielen Dank :) – David

+0

Das funktionierte gut für mich, außer dass ich die ganze StyleProperty gelöscht habe. Beachten Sie auch, dass die Stile nicht wie erwartet funktionieren, wenn Sie das Steuerelement auf "deaktiviert" setzen. – Kosko

Verwandte Themen