Microsoft wrote a very nice explanation Routed Events Overview
exactly the same thing will happen with MouseUp
and PreviewMouseUp
events
in your case the e.Handled = (bool) chkhandle.IsChecked;
stops the routing of the event.
if you want to debug the events you can use Snoop it will illustrate very nicely which events happened on which objects and who handled them.