我有一个叫Window的
MainWindow
其中包含2个用户控件:
SearchBox
和
CustomerList
当有人键入SearchBox时,我想相应地更改CustomerList。
问题:
什么是最好的方式
CustomerList
知道
TextChanged
事件已在中执行
SearchBox
?
现在我有
搜索框
定义为:
public class SearchSubmittedEventArgs : EventArgs
{
public string Term { get; set; }
public SearchSubmittedEventArgs(string term)
{
Term = term;
}
}
public partial class SearchBox : UserControl
{
public event EventHandler<SearchSubmittedEventArgs> SearchSubmitted;
public SearchBox()
{
InitializeComponent();
}
private void SearchTextBox_TextChanged(object sender, TextChangedEventArgs e)
{
if (SearchSubmitted != null) SearchSubmitted.Invoke(this, new SearchSubmittedEventArgs(((TextBox)sender).Text));
}
}
和
主窗口
具有以下XAML和EventHandler:
<UserControls:SearchBox SearchSubmitted="SearchSubmitted_Invoked" />
private void SearchSubmitted_Invoked(object sender, SearchSubmittedEventArgs e)
{
// I know SearchBox has been typed into
// but I don't know how best to inform CustomerList
}
我需要从传递活动吗
SearchSubmitted_Invoked
到
客户列表
?有没有办法让我直接从
搜索框
到
客户列表
?