TextBox
ユーザーが何も入力しておらず、TextBox
アイドル状態のときにプレースホルダーテキストを表示したい。
Andriodでは、 android:hint="some Text"
iPhoneでは次のように実行できます。textFild.placeholder = "some text";
Windows 8メトロアプリでそれを行うにはどうすればよいですか?
ありがとう
TextBox
ユーザーが何も入力しておらず、TextBox
アイドル状態のときにプレースホルダーテキストを表示したい。
Andriodでは、 android:hint="some Text"
iPhoneでは次のように実行できます。textFild.placeholder = "some text";
Windows 8メトロアプリでそれを行うにはどうすればよいですか?
ありがとう
Windows用に編集-8.1彼らは新しいプロパティを導入しました
<TextBox x:Name="UserName" PlaceholderText="User Name"/>
SergeyAldoukhovの答えをご覧ください
私にとって、これは私が得た実用的なソリューションです。
誰かがより良い解決策を持っているなら、答えてください。
private void OnTestTextBoxGotFocus(object sender, RoutedEventArgs e)
{
if (testTextBox.Text.Equals("Type here...", StringComparison.OrdinalIgnoreCase))
{
testTextBox.Text = string.Empty;
}
}
private void OnTestTextBoxLostFocus(object sender, RoutedEventArgs e)
{
if (string.IsNullOrEmpty(testTextBox.Text))
{
testTextBox.Text = "Type here...";
}
}
MSも同じことを行います。ここの例を確認してください。
PSここTextBox
からダウンロードできるカスタムコントロールを作成しました
Windows 8.1では、TextBoxにPlaceholderTextプロパティがあります。
<TextBox
x:Name="UserName"
PlaceholderText="User Name"
/>
WinRT Xaml ToolkitにはWatermarkTextboxコントロールがあります: http ://winrtxamltoolkit.codeplex.com/
NuGetからも取得でき、他にもいくつかの便利なコントロールが付属しています。
ページのプロパティでツールキットを参照することで使用できます。
xmlns:xtk="using:WinRTXamlToolkit.Controls"
そして、次のようにWaterMarkTextBoxにアクセスするだけです。
<xtk:WatermarkTextBox WatermarkText="some text" />
編集。:
Callistoは透かしテキストボックスも提供しています: https ://github.com/timheuer/callisto
まだreadmeで言及されていません。
WPFを使用している場合は、透かしを探しています。次のスタックオーバーフローの回答を確認してください
あなたができることは、デフォルトのテキストを設定し、テキストボックスのタップされたイベントを使用してそれをクリアするか、透かしテキストボックスを使用することができますここを参照してください