16

I want to show a placeholder text in TextBox when user hasn't typed anything and TextBox is idle.

In Andriod it can be done using android:hint="some Text"
In iPhone it can be done as textFild.placeholder = "some text";

How can I do it in windows 8 metro apps?

Thanks

Inder Kumar Rathore
  • 39,458
  • 17
  • 135
  • 184

5 Answers5

24

Edit for they have introduced a new property

<TextBox x:Name="UserName" PlaceholderText="User Name"/>

Please see Sergey Aldoukhov's answer


For me this is the working solution that I got.
If any one has better solution please answer.

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 also do the same check the example here.

P.S. I have created a custom control for TextBox you can download it from here

Community
  • 1
  • 1
Inder Kumar Rathore
  • 39,458
  • 17
  • 135
  • 184
8

In Windows 8.1, TextBox has a PlaceholderText property:

<TextBox
    x:Name="UserName"
    PlaceholderText="User Name"
    />
Inder Kumar Rathore
  • 39,458
  • 17
  • 135
  • 184
Sergey Aldoukhov
  • 22,316
  • 18
  • 72
  • 99
6

The WinRT Xaml Toolkit has a WatermarkTextbox Control: http://winrtxamltoolkit.codeplex.com/

You can get it via NuGet as well, it comes with several other usefull Controls.

you can use it by referncing the toolkit in your Page´s property´s:

xmlns:xtk="using:WinRTXamlToolkit.Controls"

And the just access the WaterMarkTextBox like this:

<xtk:WatermarkTextBox WatermarkText="some text" />

Edit.:

Callisto offers a watermark TextBox too: https://github.com/timheuer/callisto

Its just not mentioned in the readme yet.

Ostkontentitan
  • 6,930
  • 5
  • 53
  • 71
1

In case you are using WPF, you are looking for a watermark, check out the following stackoverflow answer

Community
  • 1
  • 1
Dominik
  • 3,342
  • 1
  • 17
  • 24
1

What you can do is you can set a default text and clear it using tapped event of textbox or you can use the watermark text box see here

kakun06
  • 21
  • 4