我的WPF Windows上有一个搜索文本框。每当用户在textBox中写入一些查询后按下回车键时,该过程应该开始。
现在,我也有了这个搜索按钮,如果我执行了所有这些过程。
所以,对于texBox:
<TextBox x:Name="textBox1" Text="Query here" FontSize="20" Padding="5" Width="580" KeyDown="textBox1_KeyDown"></TextBox>
private void queryText_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
//how do I fire the button event from here?
}
}
答案 0 :(得分:1)
可以将搜索逻辑移动到DoSearch
之类的方法,然后从两个位置(文本框和搜索按钮)调用它。
答案 1 :(得分:0)
您是在谈论手动调用buttonSearch_onClick(this, null);
吗?
答案 2 :(得分:0)
您可以创建一个常用方法来搜索ex
public void MySearch()
{
//Logic
}
然后把它叫做你想要的分散的地方......
private void queryText_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
MySearch();
}
}
private void buttonSearch_onClick(object sender, EventArgs e)
{
MySearch();
}
答案 3 :(得分:0)
不能从定义它的类之外触发/引发事件。(使用反射你绝对可以做到这一点,但不是一个好的做法。)
话虽如此,你总是可以从代码中调用按钮点击事件处理程序,如下面的简单方法调用
private void queryText_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
OnSearchButtonClick(SearchButton, null);
}
}