我正在为Windows Phone 8创建一个应用程序,我需要一个搜索框。
理论上,我想要这个:
用户写下他想要搜索的内容。
虽然我想在最后有一个按钮(由X表示),当用户点击它时,它会删除所有文本。此按钮也应仅在有文本时显示,或者与默认文本不同。
如果我拥有(图片)的实际问题是,当我关注文本框时,按钮会消失。
我该怎么办?看过几个网站,但不能做我想要的。
编辑:XAML
<TextBox VerticalAlignment="Stretch" HorizontalAlignment="Stretch" Grid.Row="0" Text="find" />
<Button Content="X" Width="40" Height="40" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="10" Grid.Row="0" />
答案 0 :(得分:2)
默认情况下,点按该文本框时,该文本框将变为白色。它与你的&#34; X&#34;颜色相同。按钮。将按钮的颜色更改为其他颜色。
添加前景=&#34;黑色&#34;您的XAML按钮或从颜色选择器中选择一种颜色。
答案 1 :(得分:1)
您必须使用文本框GotFocus
事件和LostFocus
事件。它看起来像谷歌搜索框。它一定会帮到你。
首先从here
<强> XAML:强>
<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0,12,531">
<TextBox Name="txtSearch"
Text="Search"
GotFocus="txtSearch_GotFocus"
LostFocus="txtSearch_LostFocus"
VerticalAlignment="Top"
Foreground="Gray"/>
<Button
Click="Button_Click"
Width="50"
Height="60"
BorderBrush="Transparent"
HorizontalAlignment="Right"
VerticalAlignment="Stretch"
Margin="10" Grid.Row="0">
<Button.Background>
<ImageBrush Stretch="Uniform" ImageSource="/box_drawings_light_diagonal_cross_u2573_icon_256x256.png" />
</Button.Background>
</Button>
</Grid>
<强> XAML.CS:强>
private void txtSearch_GotFocus(object sender, RoutedEventArgs e)
{
if (txtSearch.Text == "Search")
{
txtSearch.Text = "";
SolidColorBrush Brush1 = new SolidColorBrush();
Brush1.Color = Colors.Black;
txtSearch.Foreground = Brush1;
}
}
private void txtSearch_LostFocus(object sender, RoutedEventArgs e)
{
if (txtSearch.Text == String.Empty)
{
txtSearch.Text = "Search";
SolidColorBrush Brush2 = new SolidColorBrush();
Brush2.Color = Colors.Gray;
txtSearch.Foreground = Brush2;
}
}
private void Button_Click(object sender, RoutedEventArgs e)
{
txtSearch.Text = "Search";
}