using System; using System.Collections.Generic; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; namespace WisHotel { public class WaterMarkBox : TextBox { #region MaskText /// <summary> /// view sort style, desc arrow /// </summary> public static readonly DependencyProperty MaskTextProperty = DependencyProperty.Register("MaskText", typeof(string), typeof(WaterMarkBox)); public string MaskText { get { return (string)GetValue(MaskTextProperty); } set { SetValue(MaskTextProperty, value); } } #endregion public WaterMarkBox() { Loaded += (sender, args) => { if (string.IsNullOrEmpty(base.Text)) { base.Text = MaskText; base.Foreground = Brushes.Gray; } }; base.GotFocus += (sender, args) => { base.Foreground = Brushes.Black; if (base.Text == MaskText) base.Text = string.Empty; }; base.LostFocus += (sender, args) => { if (!string.IsNullOrEmpty(base.Text)) return; base.Text = MaskText; base.Foreground = Brushes.Gray; }; } public new string Text { get { if (base.Text == MaskText) return string.Empty; else return base.Text; } set { base.Text = value; } } } }
<btn:WaterMarkBox Width="150" Height="20" MaskText="输入想要查找的房号..."/>