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;
}