WP7 Textbox с заголовком внутри текстового поля - PullRequest
0 голосов
/ 10 сентября 2011

Я хотел бы иметь текстовое поле, которое позволяет пользователю вводить некоторый текст (очевидно).Допустим, это «Название».Существует ли предварительно созданный элемент управления, который показывает имя поля (в данном случае заголовок) внутри текстового поля, а затем очищает его, когда пользователь вводит поле.Пример: поле поиска в верхней части этой страницы имеет «Поиск», но когда вы вводите поле, оно исчезает.

Ответы [ 2 ]

1 голос
/ 10 сентября 2011

Текстовое поле с водяными знаками

Мне кажется, я помню, что тоже был в Mango Silverlight Toolkit, поправьте меня, если я ошибаюсь: Комплект инструментов Mango Silverlight

0 голосов
/ 26 мая 2012

Это пример. Поместите событие GotFocus и LostFocus в текстовое поле (на странице .xaml).

<TextBox x:Name="UrlTextBox" Text="Search" Margin="0,0,98,0" GotFocus="UrlTextBox_GotFocus" LostFocus="UrlTextBox_LostFocus"/>       

На странице xaml.cs добавьте следующие коды-

    private void UrlTextBox_GotFocus(object sender, RoutedEventArgs e)
    {
        if (UrlTextBox.Text == "Search")
        {
            UrlTextBox.Text = "";
            SolidColorBrush Brush1 = new SolidColorBrush();
            Brush1.Color = Colors.Gray;
            UrlTextBox.Foreground = Brush1;
        }

        else
        {
            char[] strDataAsChars = UrlTextBox.Text.ToCharArray();
            int i = 0;
            for (i = UrlTextBox.SelectionStart - 1; ((i >= 0) &&
                               (strDataAsChars[i] != ' ')); --i) ;
            int selBegin = i + 1;
            for (i = UrlTextBox.SelectionStart; ((i < strDataAsChars.Length) &&
                                              (strDataAsChars[i] != ' ')); ++i) ;
            int selEnd = i;
            UrlTextBox.Select(selBegin, selEnd - selBegin);
        }
    }

    private void UrlTextBox_LostFocus(object sender, RoutedEventArgs e)
    {
        if (UrlTextBox.Text == String.Empty)
        {
            UrlTextBox.Text = "Search";
            SolidColorBrush Brush2 = new SolidColorBrush();
            Brush2.Color = Colors.Gray;
            UrlTextBox.Foreground = Brush2;
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...