Entfernen Standard-mouseover - /Fokus-Effekt auf die Textboxen in WPF?
Habe ich eine Art von benutzerdefinierten Textfeld in Expression Blend. Habe ich geändert das füllen des Hintergrundes und der Grenze zu einem Farbverlauf, und fügte hinzu, in einem Schatten-Effekt.
Habe ich bemerkt, dass wenn ich den Mauszeiger über oder Fokus meiner TextBox, einige Standard-Verhalten/(Stil?) der WPF übernimmt und meine Grenze ist geändert.
Ich Frage mich, ob es trotzdem zu verhindern oder zu stoppen WPF ändern meine Textfelder Stil, wenn ich mich konzentrieren oder mouseover. Ist das möglich?
fügen Sie einige xaml-code bitte...
InformationsquelleAutor mattsven | 2011-06-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tut Sie benutzerdefinierte Formatvorlagen-Satz, den
OverridesDefaultStyle
Eigenschafttrue
? Ich glaube, das sollte verhindern, dass default-Werte gezeichnet von der Standard-Formatvorlage.Wenn dem so ist, und dieses nicht funktioniert (oder Sie wollen Ihre eigenen Grenze), alles, was ich denken kann ist, dass Sie brauchen, um die Standardeinstellung zu überschreiben styling-Mechanismus für den Fall, das die entsprechende Eigenschaft ändern mit einem Trigger in Ihrem
Style
/ControlTemplate
:Erstens, haben Sie überprüft, dass Ihr Stil verwendet
<Setter Property="OverridesDefaultStyle" Value="True"/>
oder nicht? Wenn ja, haben Sie Ihren hintergrund definiert als eineStaticResource
?Ja,
OverridesDefaultStyle
eingestellt isttrue
. Wie für den hintergrund, Nein, es ist DynamicResource -<Setter Property="Background" Value="{DynamicResource {x:Static SystemColors.WindowBrushKey}}"/>
. Ändern macht es keinen Unterschied.Ich entschuldige mich, 'hintergrund' war ein Tippfehler, ich meinte an Ihre Grenze. Ist Ihre Grenze in der gleichen Weise eingestellt? Wenn es dann kopieren Sie die Weise, auf die verwiesen wird in der trigger-setter.
Ich kann nicht sagen, ob das, was Sie getan haben, ist bad, oder nicht - es würde scheinen, dass das, was du entfernt hast bezieht sich auf ein
ListBox
sind, so können Sie jetzt bemerken, andere Stile sind 'fehlt' - sehen, wie es geht.InformationsquelleAutor Grant Thomas
Sollten Sie eine neue Vorlage verwenden:
Habe ich entfernt, die trigger
IsMouseOver
schauen Sie hier für mehr Informationen: Textfeld-Formatvorlagen und Vorlagen
OverridesDefaultStyle
sehr wichtig,InformationsquelleAutor Navid Rahmani
Die einfachere Lösung ist einfach texbox festlegen Rahmenstärke auf 0, dann wickeln Sie texbox auf Ihre eigene Grenze:
InformationsquelleAutor igorGIS