在文本框的Windows 8占位符或水印(Place holder or watermark in

2019-06-27 12:31发布

我想在显示一个占位符文本TextBox ,当用户没有输入任何东西, TextBox处于闲置状态。

在Andriod的它可以做到用android:hint="some Text"
在iPhone可以作为做textFild.placeholder = "some text";

我怎样才能做到这一点在Windows 8地铁的应用程序?

谢谢

Answer 1:

编辑用于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 ,你可以下载它从这里



Answer 2:

在Windows 8.1,文本框有一个PlaceholderText属性:

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


Answer 3:

在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

它只是没有在自述中提到呢。



Answer 4:

如果你正在使用WPF,你正在寻找一个水印,看看下面的计算器答案



Answer 5:

你可以做的是,你可以设置默认的文本和文本框使用的窃听事件清除它,或者您可以使用水印文本框中看到这里



文章来源: Place holder or watermark in TextBox windows 8