There are events when a user is dragging a pane (PaneDragStarting, PaneDragOver, PaneDragEnded) if that's what you mean by dock. With regards to resizing there isn't a specific event raised. The splitter classes are derived from PaneSplitter (which is a Thumb) so you could listen for the DragCompleted event. With regards to pinning/unpinning, you can watch the Pinned property for changes. There is an example of this in another thread. If you need something else then you should probably submit a suggestion for it and provide as much detail as possible about the requirements.
i could not understand some part of your answer "The splitter classes are derived from PaneSplitter (which is a Thumb) so you could listen for the DragCompleted event"
How to get the instance of PaneSplitter from pane or panetabgroup
You don't need to. The DragCompleted is a bubble event so you could add a handler for that event any class in the ancestor chain. That being said, I don't think there is anything on the PaneSplitter class itself that will let you know what pane(s) are resized by that particular splitter. I would probably just submit a feature request listing your requirements.