如何在XAML中为附加事件添加多个处理程序?

时间:2010-05-21 06:19:57

标签: c# .net wpf

代码示例:

<DataTemplate x:Key="NodeDataTemplate">
    <Border Style="{StaticResource nodeBorderStyle}"
                        MouseEnter="SetMouseCursor_Arrow"
                        MouseLeave="SetMouseCursor_ScrollAll"
                        MouseLeftButtonDown="ViewLink"
                        MouseLeftButtonDown="SetFlagForCursorTracking">
....
</DataTemplate>

我想为上面显示的特定事件添加2个处理程序。但是这不会编译 - '属性可以设置多次'。我有多种方法,因为它们做了不同的事情(被恰当地命名)。例如第一个处理程序与第二个处理程序没有任何共同之处。

我的另一个选择是使用SetFlagForCursorTrackingAndCheckForViewLink方法 - 这是“Yech!”。 有什么想法吗?

2 个答案:

答案 0 :(得分:3)

请尝试添加一个处理程序,随后调用一些事件处理方法。或者只添加一个处理程序,随后调用所需的两个事件处理方法 - 这将更加优雅。

答案 1 :(得分:0)

您可以在后面的代码中执行此操作,

UIObject.AddHandler( AttachedEventContainer.AttachedEvent, your_handler);

UIObject.AddHandler( AttachedEventContainer.AttachedEvent, your_handler);

我没有尝试或测试过这个,如果这给出了任何错误,那么你别无选择,只能使用方法并在该方法中手动调用两个事件处理程序,并将附加方法作为事件处理程序。