WPF/XAML : TextBox に入力ヒントを表示する
WPF界隈では hint ではなく watermark とも呼ぶらしいですね。Android の方では watermark という呼び方を聞いたことはないのですが。
参考にしたサイト(下記記載)には AttachedProperty を使った方法や Trigger を使った方法も掲載されており、「TextBox に」という点ではそれらを実装するのが筋のような気もしますが、ここでは Extended WPF Toolkit Community Edition の WatermarkTextBox の使い方をまとめます。
参照を追加して使うだけなのでとても簡単です。使えるものは積極的に使っていきましょう。
手順
- Nuget で Extended.Wpf.Toolkit をインストール
- xaml の namespace に "xmlns:extk="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit" を追加する
- ※ extk の部分は好みの文字列でどうぞ
- TextBox の代わりに extk:WatermarkTextBox を使い、Watermark プロパティを設定する
WatermarkTextBox を使うだけのサンプルの xml
<Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:extk="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit" Title="MainWindow" Height="350" Width="525"> <StackPanel> <extk:WatermarkTextBox Watermark="First Name" Margin="8,8,8,0"/> <extk:WatermarkTextBox Watermark="Family Name" Margin="8,8,8,0"/> </StackPanel> </Window>