Firstly, the LeftClickDragKey property is a System.Windows.Forms Key object. Is this on purpose? Why aren't we using System.Windows.Input? I would like not to reference any win forms things.
edit:
Apparently if you set the LeftClickDragKey to None, it means the ExtentInteractiveOverlay will be active regardless of the setting of LeftClickDragMode.
I think it's a legecy problem, when we first define the API we might want it to make consitant with DesktopEdition so that we use the same type, however even we know it's not good choice but we couldn't change it because it will cause our dll breaking-change that not compatiable with old version.
It's possible to have the LeftClick do Zoom out, you can extend our MapSuite that just create a custom overlay and override the MouseDownCore method and assign the it to wpfMap.ExtentOverlay
public class CustomExtentInteractiveOverlay : ExtentInteractiveOverlay { protected override InteractiveResult MouseDownCore(InteractionArguments interactionArguments) { if (interactionArguments.MouseButton == MapMouseButton.Left) { interactionArguments.MouseButton = MapMouseButton.Right; } else if (interactionArguments.MouseButton == MapMouseButton.Right) { interactionArguments.MouseButton = MapMouseButton.Left; } return base.MouseDownCore(interactionArguments); } }
wpfMap1.ExtentOverlay = new CustomExtentInteractiveOverlay();