a.定义参数类类,继承自基类EventArgs
usingSystem;
usingSystem.Net;
usingSystem.Windows;
usingSystem.Windows.Controls;
usingSystem.Windows.Documents;
usingSystem.Windows.Ink;
usingSystem.Windows.Input;
usingSystem.Windows.Media;
usingSystem.Windows.Media.Animation;
usingSystem.Windows.Shapes;
namespaceCalendar.Controls
{
publicclassAlmanacSelectionChangedEventArgs:EventArgs
{
privateAlmanacSelectionChangedEventArgs() { }
//AlmanacInfo是一个封装了某些数据的结构体,它的对象就是索要传递的数据
internalAlmanacSelectionChangedEventArgs(AlmanacInfoselectedAlmanac)
{
SelectedAlmanac = selectedAlmanac;
}
publicAlmanacInfoSelectedAlmanac {get;privateset; }
}
}
b.定义委托事件, 装载参数:
publiceventEventHandler<AlmanacSelectionChangedEventArgs> SelectionChanged;
privatevoidOnDoneButtonClick(objectsender,EventArgsargs)
{
SelectionChanged(sender,newAlmanacSelectionChangedEventArgs(m_SelectedItem));
}
c.注册事件响应,在时间触发时通过EventHandler参数传递AlmanacInfo数据:
privatevoidOnNavigated(objectsender,NavigationEventArgse)
{
AlmanacPickerPagealmanacPage = e.ContentasAlmanacPickerPage;
if(null!= almanacPage)
{
almanacPage.SelectedItem = m_AlmanacSelected;
almanacPage.SelectionChanged += OnSelectionChanged;
}
}
privatevoidOnSelectionChanged(objectsender,AlmanacSelectionChangedEventArgse)
{
m_AlmanacSelected = e.SelectedAlmanac;
}