Не удалось найти событие перемещения или перерисовки в классе FrameworkElement. И Google тоже не помогает. Так...
У меня есть настраиваемый ItemsControl, заполненный наблюдаемой коллекцией в виртуальной машине. Сам ItemsControl использует
<i:Interaction.Behaviors>
<ei:MouseDragElementBehavior ConstrainToParentBounds="True"/>
</i:Interaction.Behaviors>
поведение, чтобы пользователь мог перетащить всю сборку.
Когда пользователь перемещает сборку, я хочу получать уведомления от каждого элемента о том, что элемент перемещается в результате перемещения сборки. Пока я пытался зарегистрироваться на
this.myItem.LayoutUpdated += this.OnSomethingNeedsToUpdate;
но он, кажется, не срабатывает, когда я таскаю сборку.
Также
this.myItem.MouseMove += this.OnSomethingNeedsToUpdate;
работает только при наведении указателя мыши на элемент, которого недостаточно. Потому что я перемещаю ItemsControl, а затем должен навести указатель мыши на элемент, чтобы событие сработало.
Любые идеи? Могу ли я обратиться за помощью к какому-либо предку в визуальном дереве в виде события OneOfMyDecendantsWasRedrawn или подобного? Я снова пытаюсь получить уведомление о перемещении элемента, но не получать уведомления о перемещении сборки.