var source = e.OriginalSource as FrameworkElement;
var grid = source as Grid;
var mapScale = source.ParentOfType<MapScale>();
var locator = source.ParentOfType<MapMouseLocationIndicator>();
if ((grid != null && grid.FindChildByType<MapScale>() != null) ||
mapScale != null ||
locator != null)
e.Handled = true;
Please let me know whether such an approach would work for you.
Want to extend the target reach of your WPF applications, leveraging iOS, Android, and UWP? Try UI for Xamarin, a suite of polished and feature-rich components for the Xamarin framework, which allow you to write beautiful native mobile apps using a single shared C# codebase.