[英]how to launch event from a textbox even when the field is empty c# wpf
我从数据库中获取数据,然后将其显示在datagrid(wpf)中,用户可以在单击Enter后从文本框中进行快速搜索(过滤)。 我使用此事件来处理按钮-Enter-单击(OnSearch-每当单击搜索按钮或按Enter键时都会生成此事件。)
问题是当用户什么都不写时,即使单击Enter-Button,事件也不会启动! 我如何继续使其工作
public MainWindow()
{
InitializeComponent();
//m_txtTest is a SearchTextBox
m_txtTest.OnSearch += new RoutedEventHandler(m_txtTest_OnSearch);
}
void m_txtTest_OnSearch(object sender, RoutedEventArgs e)
{
//to get the entered string
SearchEventArgs searchArgs = e as SearchEventArgs;
....
....
....
....
}
因此,当用户输入内容并按Enter时,它就是处理事件的文本框。
当他们没有输入任何内容时,尽管文本框没有焦点并且无法处理事件。
我要做的是创建一个事件以在窗口或网格上进行搜索。
这样的东西
this.OnPreviewKeyDown += new OnPreviewKeyDownEvent;
http://msdn.microsoft.com/en-us/library/ms748948.aspx
你可以这样想
窗口有焦点
->网格有重点
->文本框具有焦点
焦点所在的最后一件事(或最内在的元素,就像蛋糕一样)将是首先看到事件的事物。 如果您为该UI元素注册了该事件,它将对其进行处理。
文本框未聚焦,因此不会看到该事件
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.