我想在显示一个占位符文本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"/>
请参阅谢尔盖Aldoukhov的答案
对我来说,这是我工作的解决方案。
如果任何人有更好的解决方案,请回答。
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,文本框有一个PlaceholderText属性:
<TextBox
x:Name="UserName"
PlaceholderText="User Name"
/>
在WinRT中的XAML工具包具有WatermarkTextbox控制: http://winrtxamltoolkit.codeplex.com/
您可以通过的NuGet得到它为好,它具有其他一些有用的控制。
您可以通过referncing在一页的property's工具箱使用它:
xmlns:xtk="using:WinRTXamlToolkit.Controls"
而刚刚访问WaterMarkTextBox是这样的:
<xtk:WatermarkTextBox WatermarkText="some text" />
编辑。:
木卫四提供水印文本框太: https://github.com/timheuer/callisto
它只是没有在自述中提到呢。
如果你正在使用WPF,你正在寻找一个水印,看看下面的计算器答案
你可以做的是,你可以设置默认的文本和文本框使用的窃听事件清除它,或者您可以使用水印文本框中看到这里