vue-java-tutorials/CSharp/WPFTutorial/WPF-5-CustomTextboxContro/View/UserControllers/ClearableTextBox.xaml.cs

36 lines
841 B
C#

using System.Windows;
using System.Windows.Controls;
namespace WPF_5_CustomTextboxContro.View.UserControllers;
public partial class ClearableTextBox : UserControl
{
private string _placeholder;
public ClearableTextBox()
{
InitializeComponent();
}
public string Placeholder
{
get => _placeholder;
set
{
_placeholder = value;
// 不要这样写!!!
TbPlaceholder.Text = value;
}
}
private void ClearButton_OnClick(object sender, RoutedEventArgs e)
{
MyTextBox.Clear();
MyTextBox.Focus();
}
private void MyTextBox_OnTextChanged(object sender, TextChangedEventArgs e)
{
TbPlaceholder.Visibility = string.IsNullOrEmpty(MyTextBox.Text) ? Visibility.Visible : Visibility.Hidden;
}
}