Silverlight Windows Pone:编译器从listbox datatemplate内部添加自定义事件的处理程序时出错

时间:2010-12-25 18:00:57

标签: windows silverlight-3.0 windows-phone-7

我已经摸不着头脑了很长时间 - 我可能错过了一些正确的东西。

我正在创建一个以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 *

匹配

任何有关建议可能出错的帮助都表示赞赏。我已经盯着这个太久了!

1 个答案:

答案 0 :(得分:0)

原来我的事件签名不能只是必须是EventHandler(对象发送者,some_EventArgs_type e)