Держатель места или водяной знак в окнах TextBox 8
Я хочу показать текст-заполнитель в TextBox
, когда пользователь ничего не набрал, а TextBox
не используется.
В Andriod это можно сделать, используя android:hint="some Text"
В iPhone это можно сделать как textFild.placeholder = "some text";
Как я могу сделать это в приложениях с окнами 8?
Спасибо
Ответы
Ответ 1
Изменить для windows-8.1, которые они ввели новое свойство
<TextBox x:Name="UserName" PlaceholderText="User Name"/>
См. Ответ Сергея Алдухова
Для меня это рабочее решение, которое я получил.
Если у кого-то есть лучшее решение, ответьте.
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 также делает такую же проверку здесь.
P.S. Я создал пользовательский элемент управления для TextBox
, вы можете скачать его из здесь
Ответ 2
В Windows 8.1 TextBox имеет свойство PlaceholderText:
<TextBox
x:Name="UserName"
PlaceholderText="User Name"
/>
Ответ 3
У WinRT Xaml Toolkit есть элемент управления WatermarkTextbox:
http://winrtxamltoolkit.codeplex.com/
Вы можете получить его также через NuGet, он поставляется с несколькими другими полезными элементами управления.
вы можете использовать его, указав инструментарий в свойстве страницы:
xmlns:xtk="using:WinRTXamlToolkit.Controls"
И просто получить доступ к WaterMarkTextBox следующим образом:
<xtk:WatermarkTextBox WatermarkText="some text" />
Edit:.
Callisto предлагает также водяной знак TextBox:
https://github.com/timheuer/callisto
Его просто не упоминается в readme.
Ответ 4
Если вы используете WPF, вы ищете водяной знак, посмотрите следующий stackoverflow answer
Ответ 5
Что вы можете сделать, так это то, что вы можете установить текст по умолчанию и очистить его, используя текстовое поле с текстом, или вы можете использовать текстовое поле водяного знака, см. here