Browse Source

TextBox: Add :empty pseudoclass

pull/4487/head
Maksym Katsydan 6 years ago
parent
commit
87afc2ffa0
  1. 17
      src/Avalonia.Controls/TextBox.cs

17
src/Avalonia.Controls/TextBox.cs

@ -157,6 +157,8 @@ namespace Avalonia.Controls
horizontalScrollBarVisibility,
BindingPriority.Style);
_undoRedoHelper = new UndoRedoHelper<UndoRedoState>(this);
UpdatePseudoclasses();
}
public bool AcceptsReturn
@ -378,6 +380,16 @@ namespace Avalonia.Controls
}
}
protected override void OnPropertyChanged<T>(AvaloniaPropertyChangedEventArgs<T> change)
{
base.OnPropertyChanged(change);
if (change.Property == TextProperty)
{
UpdatePseudoclasses();
}
}
protected override void OnGotFocus(GotFocusEventArgs e)
{
base.OnGotFocus(e);
@ -1100,6 +1112,11 @@ namespace Avalonia.Controls
SelectionEnd = CaretIndex;
}
private void UpdatePseudoclasses()
{
PseudoClasses.Set(":empty", string.IsNullOrWhiteSpace(Text));
}
private bool IsPasswordBox => PasswordChar != default(char);
UndoRedoState UndoRedoHelper<UndoRedoState>.IUndoRedoHost.UndoRedoState

Loading…
Cancel
Save