2010-08-03 46 views
1

我有一个用户控件,它有2个控件A和B. 现在,A和B在他们的DragDrop事件中有自己的逻辑。让父母处理子控件事件或命令WPF?

拥有这两个控件的父级必须以自己的方式处理这些事件中的DragDrop。所以我在父母的东西,像parent.A.DragDropEvent + = new EventHandler()等...

现在,我想要处理父控件中的两个控件的DragDrop事件,而不是让儿童处理它他们自己。另一方面,如果这些控制是独立使用的(不在父控制范围内),那么我希望他们自己的逻辑工作或接管。

我该如何做到这一点?谢谢!

回答

3

为您的子控件添加一个像HandleDragDrop这样的布尔属性,并让它们只处理拖放操作,如果该属性为true。默认情况下为真。在父控件中将其设置为false。

2

如果你不想让孩子控制只显示,但在他们有父母的实现中不能互动,你可以在他们拥有父母的xaml上设置IsHitTestVisible =“false”,然后所有的交互都会去父母。