Ich habe TextBoxes
und FakeTextBoxes
in meiner Anwendung. FakeTextBoxes
fungiert als TextBoxes
, aber sie haben mehr Funktionalität, da sie Knöpfe und/oder Bilder darin haben. XAML
für ein FakeTextBox
sieht dies so etwas wie:BorderBrush von TextBox auf BorderBrush eines Randes dynamisch anwenden
<Border BorderThickness="1">
<StackPanel Orientation="Horizontal">
<TextBox BorderThickness="0" />
<Button>I'm a button inside textbox</Button>
</StackPanel>
</Border>
TextBox
in meinem Projekt ein eigenes Styling haben, der seine BorderBrush
ändert in Abhängigkeit von seinen IsMouseOver
und GotFocus
Eigenschaften. Der generische Stil kommt von mahapps.metro und Sie können es hier finden: https://github.com/MahApps/MahApps.Metro/blob/develop/MahApps.Metro/Styles/Controls.TextBox.xaml
Das Problem ist, dass ich nicht das gleiche Verhalten für die Grenze meiner FakeTextBox
anwenden kann. Ich möchte das exakt gleiche Verhalten auf meiner benutzerdefinierten Border
haben, so dass es genauso aussieht wie andere TextBox
es.
Was ich versucht habe, und hat nicht funktioniert für Border
:
- Bindung an
BorderBrush
Eigentum der innerenTextBox
. - Bindung an
IsFocused
Eigenschaft vonTextBox
: IsFocused hat keine Setter. - Erstellen einer versteckten
TextBox
und Bindung an seinenBorderBrush
Gibt es eine allgemeine und/oder einfache Lösung, um es?
ist 'FakeTextBox' von' TextBox' abgeleitet?Können Sie auch den benutzerdefinierten TextBox-Stil anzeigen? – ASh
Es ist nicht wirklich. Es ist nur ein Codestück in einer Ansicht/Benutzersteuerung. Hier ist der benutzerdefinierte Stil für TextBox https://github.com/MahApps/MahApps.Metro/blob/develop/MahApps.Metro/Styles/Controls.TextBox.xaml. –
Können Sie uns den Code (auch Xaml) zeigen, der die FakeTextBox bildet? – Logan