我正在尝试创建一个没有可清除文本框的应用程序(一个内部带有“x”的文本框,单击“x”数据会在文本框中清除)。
任何人都可以帮助为它创建一个功能吗?
不确定您面临的确切问题。您可以通过在网格(相邻列)中有一个文本框和一个圆形按钮(coding4fun)来实现这一点
点击按钮清除文本框。你甚至可以为自己创建一个很好的用户控件,很好地包装代码,这样你就可以拥有多个实例。
类似的东西?
public TextBox CreateTextBox(string defaultText)
{
var tb = new TextBox { Text = defaultText };
tb.GotFocus += new RoutedEventHandler((object sender, RoutedEventArgs e) =>
{
if (tb.Text == defaultText)
tb.Text = "";
});
return tb;
}
你错过了这个链接。它有一个自定义控件“ClearableTextbox”,可能适合您的要求。
您也可以下载包含 dll 文件的源代码。
在您的项目中包含对该 dll 的引用,然后在 xaml 页面中添加以下行,
xmlns:clrtb="clr-namespace:ClearableTextBox;assembly=ClearableTextBox"
然后你可以使用类似的文本框,
<clrtb:ClearableTextBox Width="300" Height="60" VerticalAlignment="Top"/>
由于源代码可用,您可以对其进行一些修改,使其符合您的要求
更新:
或者,我发现这个很棒的控件可以让你的任务变得简单:
全面披露:我在 Telerik 工作,我们的 TextBox 内置了此功能: http ://www.telerik.com/products/windows-phone/overview/all-controls.aspx