with texto marca fondo eventos agua c# windows-8 microsoft-metro .net-4.5

c# - texto - marca de agua textbox wpf



Coloque el titular o la marca de agua en las ventanas de TextBox 8 (5)

Quiero mostrar un texto de marcador de posición en TextBox cuando el usuario no ha escrito nada y TextBox está inactivo.

En Andriod se puede hacer usando android:hint="some Text"
En iPhone se puede hacer como textFild.placeholder = "some text";

¿Cómo puedo hacerlo en windows 8 metro apps?

Gracias


Editar para windows-8.1 han introducido una nueva propiedad

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

Por favor, vea la respuesta de Sergey Aldoukhov

Para mi esta es la solución de trabajo que tengo.
Si alguien tiene mejor solución por favor conteste.

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 también hace lo mismo ver el ejemplo aquí .

PS. He creado un control personalizado para TextBox , puedes descargarlo desde here


El WinRT Xaml Toolkit tiene un control WatermarkTextbox Control: http://winrtxamltoolkit.codeplex.com/

También puede obtenerlo a través de NuGet, viene con varios otros controles útiles.

Puede usarlo haciendo referencia al kit de herramientas en las propiedades de su página:

xmlns:xtk="using:WinRTXamlToolkit.Controls"

Y el acceso justo al WaterMarkTextBox de esta manera:

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

Editar.:

Calisto también ofrece un cuadro de texto de marca de agua: https://github.com/timheuer/callisto

Simplemente no se menciona en el archivo Léame todavía.


En Windows 8.1, TextBox tiene una propiedad PlaceholderText:

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


Lo que puede hacer es configurar un texto predeterminado y borrarlo con el evento tocado del cuadro de texto o puede usar el cuadro de texto de marca de agua, haga here


Si está utilizando WPF, está buscando una marca de agua, consulte la siguiente answer