Проблема в том, что EventTrigger не подключается к событиям Поведения.Вместо этого он подключается к событиям поведения AssociatedObject.Вот соответствующий исходный код:
protected override void OnAttached()
{
base.OnAttached();
DependencyObject associatedObject = base.AssociatedObject;
Behavior behavior = associatedObject as Behavior;
FrameworkElement element = associatedObject as FrameworkElement;
this.RegisterSourceChanged();
if (behavior != null)
{
associatedObject = ((IAttachedObject) behavior).AssociatedObject;
behavior.AssociatedObjectChanged += new EventHandler(this.OnBehaviorHostChanged);
}
....
}
Таким образом, вы можете видеть, что если связанный объект триггера представляет собой поведение, то он устанавливает связанный объект в связанный объект поведения, который является вашей коллекцией элементов.У коллекции предметов нет события перетаскивания, поэтому ничего не происходит.
Вероятно, вы можете получить желаемые результаты, создав другое поведение, которое проверяет, имеет ли связанный объект поведение перетаскивания и, если да, то ваше поведение привязано к событию перетаскивания.Затем вызовите метод для объекта оттуда.