我想有一个文本框,让用户输入一些文字(显然)。让我们说它是'标题'。是否有预先构建的控件,在文本框内显示字段的名称(本例中为标题),然后在用户输入字段时将其清除。示例:此页面顶部的搜索框具有“搜索”,但是当您输入框时,它会消失。
答案 0 :(得分:1)
我想我也记得它也在芒果Silverlight工具包中,如果我错了,请纠正我: Mango Silverlight Toolkit
答案 1 :(得分:0)
这是一个例子。将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;
}
}