我有一个名为的窗口MainWindow
,其中包含 2 个用户控件:
SearchBox
和
CustomerList
当有人输入 SearchBox 时,我想相应地更改 CustomerList。
问题:CustomerList
知道TextChanged
事件已经执行的最佳方法是SearchBox
什么?
现在我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));
}
}
并MainWindow
具有以下 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
}
我需要从 to 传递事件SearchSubmitted_Invoked
吗CustomerList
?有没有办法让我直接从SearchBox
to传递它CustomerList
?