読者です 読者をやめる 読者になる 読者になる

i++

プログラム系のメモ書きなど

WPF/XAML : TextBox に入力ヒントを表示する

WPF/XAML .NET Framework

WPF界隈では hint ではなく watermark とも呼ぶらしいですね。Android の方では watermark という呼び方を聞いたことはないのですが。

参考にしたサイト(下記記載)には AttachedProperty を使った方法や Trigger を使った方法も掲載されており、「TextBox に」という点ではそれらを実装するのが筋のような気もしますが、ここでは Extended WPF Toolkit Community EditionWatermarkTextBox の使い方をまとめます。

参照を追加して使うだけなのでとても簡単です。使えるものは積極的に使っていきましょう。

f:id:tkyjhr:20150830085159p:plain

手順

  1. Nuget で Extended.Wpf.Toolkit をインストール
  2. xaml の namespace に "xmlns:extk="clr-namespace:Xceed.Wpf.Toolkit;assembly=Xceed.Wpf.Toolkit" を追加する
    • ※ extk の部分は好みの文字列でどうぞ
  3. 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>

参考