FrameworkElement クラスで移動イベントまたは再描画イベントが見つかりません。そして、Googleも助けません。そう...
VM の監視可能なコレクションによって設定されたカスタム ItemsControl があります。ItemsControl 自体は、
<i:Interaction.Behaviors>
<ei:MouseDragElementBehavior ConstrainToParentBounds="True"/>
</i:Interaction.Behaviors>
ユーザーがアセンブリ全体をドラッグできるようにします。
ユーザーがアセンブリを移動すると、アセンブリの移動の結果としてアイテムの位置が変更されるため、各アイテムから通知を受けたいです。これまでに登録してみました
this.myItem.LayoutUpdated += this.OnSomethingNeedsToUpdate;
しかし、アセンブリをドラッグしても発火しないようです。
また
this.myItem.MouseMove += this.OnSomethingNeedsToUpdate;
十分ではないアイテムにマウスを合わせた場合にのみ機能します。私は ItemsControl を移動しているため、イベントを発生させるにはアイテムにマウスを移動する必要があります。
何か案は?OneOfMyDecendantsWasRedrawn イベントなどの形で、ビジュアル ツリーの先祖にヘルプを求めることはできますか? 繰り返しますが、アイテムが移動したときに通知されず、アセンブリが移動したときに通知されないようにしています。