我已经摸不着头脑了很长时间 - 我可能错过了一些正确的东西。
我正在创建一个以usercontrol作为项目的列表框。我已经定义了一个从我的用户控件触发的事件,我想在托管列表框的页面中处理它。
用户控件中的事件定义
public delegate void TaskListItemMultiSelectViewEventHandler(TaskDataModel currentTask);
public event TaskListItemMultiSelectViewEventHandler TaskListItemMultiSelectViewEvent;
承载列表框的page.xaml中的事件处理程序
<Grid x:Name="LayoutRoot" Background="{StaticResource PhoneChromeBrush}">
<ListBox x:Name="TaskListBox" ItemsSource="{Binding}" MouseLeftButtonUp="TaskListBox_MouseLeftButtonUp">
<ListBox.ItemTemplate>
<DataTemplate>
<mycontrol:TaskListItemControl TaskListItemMultiSelectViewEvent="TaskListItemControl_TaskListItemMultiSelectViewEvent"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
在页面背后的代码中,
private void TaskListItemMultiSelectViewEvent_TaskListControl(TaskDataModel currentTask)
{
if (TaskListMultiSelectViewEvent != null)
TaskListMultiSelectViewEvent(currentTask);
}
问题:
当我编译它时,我得到一个编译错误 *错误12'TaskListItemMultiSelectViewEvent_TaskListControl'没有重载与委托'TaskListItemMultiSelectViewEventHandler *
匹配任何有关建议可能出错的帮助都表示赞赏。我已经盯着这个太久了!
答案 0 :(得分:0)
原来我的事件签名不能只是必须是EventHandler(对象发送者,some_EventArgs_type e)