Skip to content

InteractiveOverlay

Namespace: ThinkGeo.UI.Wpf

Base overlay that processes user interactions (mouse, keyboard, touch) against the map and raises interaction events.

public abstract class InteractiveOverlay : WpfDrawingOverlay, System.Windows.Media.Composition.DUCE+IResource, System.Windows.Media.Animation.IAnimatable, System.Windows.IInputElement, System.Windows.IFrameworkInputElement, System.ComponentModel.ISupportInitialize, System.Windows.Markup.IHaveResources, System.Windows.Markup.IQueryAmbient, System.Windows.Markup.IAddChild, System.IDisposable

Inheritance Object → DispatcherObject → DependencyObject → Visual → UIElement → FrameworkElement → Panel → Canvas → Overlay → WpfDrawingOverlay → InteractiveOverlay
Implements IResource, IAnimatable, IInputElement, IFrameworkInputElement, ISupportInitialize, IHaveResources, IQueryAmbient, IAddChild, IDisposable

Properties

DoubleClickMaxIntervalInMS

Gets or sets the maximum number of milliseconds allowed between clicks to register as a double click.

public static int DoubleClickMaxIntervalInMS { get; set; }

Property Value

Int32

Remarks:

If the interval between successive clicks exceeds this value, the input is treated as two independent single clicks.

DrawingMarginPercentage

Gets or sets the additional drawing margin, expressed as a percentage of the map height.

public double DrawingMarginPercentage { get; set; }

Property Value

Double
The percentage buffer applied around the map extent to keep partially visible content, such as labels, in view.

Remarks:

The extra margin helps ensure symbols or labels drawn just outside the current extent render correctly when they overlap the view.

Name

Gets or sets the logical name of the overlay, constrained to characters accepted by .

public string Name { get; set; }

Property Value

String

CanRefreshRegion

public bool CanRefreshRegion { get; protected set; }

Property Value

Boolean

IsBase

public bool IsBase { get; set; }

Property Value

Boolean

MapArguments

Gets or sets the map-specific arguments that describe the view, projection, and dimensions used during drawing.

public IMapArguments MapArguments { get; set; }

Property Value

IMapArguments

OverlayCanvas

Gets the canvas that hosts the overlay visuals. This property is obsolete; interact with the overlay itself instead.

public Canvas OverlayCanvas { get; }

Property Value

Canvas

DrawingExceptionMode

This property gets and sets the DrawingExceptionMode used when an exception occurs during drawing.

public DrawingExceptionMode DrawingExceptionMode { get; set; }

Property Value

DrawingExceptionMode

ThrowingExceptionMode

Gets or sets how the overlay responds when drawing or refresh operations throw an exception.

public ThrowingExceptionMode ThrowingExceptionMode { get; set; }

Property Value

ThrowingExceptionMode

Remarks:

When set to ThrowingExceptionMode.SuppressException, the overlay swallows errors; otherwise it raises Overlay.ThrowingException and permits the exception to propagate.

IsVisible

Gets or sets a value indicating whether the overlay is visible on the map.

public bool IsVisible { get; set; }

Property Value

Boolean

Remarks:

Setting the property updates . It will internally call Overlay.RefreshAsync(CancellationToken) if needed.

Attribution

Gets the attribution text displayed for the overlay.

public string Attribution { get; protected set; }

Property Value

String

Remarks:

Set by derived overlays to describe the data source rendered on the map.

IsEmpty

Gets a value indicating whether the overlay has any content to draw.

public bool IsEmpty { get; }

Property Value

Boolean

Remarks:

Derived overlays override this property so the draw pipeline can skip empty overlays and improve performance.

AutoRefreshInterval

public TimeSpan AutoRefreshInterval { get; set; }

Property Value

TimeSpan

Background

public Brush Background { get; set; }

Property Value

Brush

Children

public UIElementCollection Children { get; }

Property Value

UIElementCollection

IsItemsHost

public bool IsItemsHost { get; set; }

Property Value

Boolean

LogicalOrientationPublic

public Orientation LogicalOrientationPublic { get; }

Property Value

Orientation

HasLogicalOrientationPublic

public bool HasLogicalOrientationPublic { get; }

Property Value

Boolean

Style

public Style Style { get; set; }

Property Value

Style

OverridesDefaultStyle

public bool OverridesDefaultStyle { get; set; }

Property Value

Boolean

UseLayoutRounding

public bool UseLayoutRounding { get; set; }

Property Value

Boolean

Triggers

public TriggerCollection Triggers { get; }

Property Value

TriggerCollection

TemplatedParent

public DependencyObject TemplatedParent { get; }

Property Value

DependencyObject

Resources

public ResourceDictionary Resources { get; set; }

Property Value

ResourceDictionary

DataContext

public object DataContext { get; set; }

Property Value

Object

BindingGroup

public BindingGroup BindingGroup { get; set; }

Property Value

BindingGroup

Language

public XmlLanguage Language { get; set; }

Property Value

XmlLanguage

Tag

public object Tag { get; set; }

Property Value

Object

InputScope

public InputScope InputScope { get; set; }

Property Value

InputScope

ActualWidth

public double ActualWidth { get; }

Property Value

Double

ActualHeight

public double ActualHeight { get; }

Property Value

Double

LayoutTransform

public Transform LayoutTransform { get; set; }

Property Value

Transform

Width

public double Width { get; set; }

Property Value

Double

MinWidth

public double MinWidth { get; set; }

Property Value

Double

MaxWidth

public double MaxWidth { get; set; }

Property Value

Double

Height

public double Height { get; set; }

Property Value

Double

MinHeight

public double MinHeight { get; set; }

Property Value

Double

MaxHeight

public double MaxHeight { get; set; }

Property Value

Double

FlowDirection

public FlowDirection FlowDirection { get; set; }

Property Value

FlowDirection

Margin

public Thickness Margin { get; set; }

Property Value

Thickness

HorizontalAlignment

public HorizontalAlignment HorizontalAlignment { get; set; }

Property Value

HorizontalAlignment

VerticalAlignment

public VerticalAlignment VerticalAlignment { get; set; }

Property Value

VerticalAlignment

FocusVisualStyle

public Style FocusVisualStyle { get; set; }

Property Value

Style

Cursor

public Cursor Cursor { get; set; }

Property Value

Cursor

ForceCursor

public bool ForceCursor { get; set; }

Property Value

Boolean

IsInitialized

public bool IsInitialized { get; }

Property Value

Boolean

IsLoaded

public bool IsLoaded { get; }

Property Value

Boolean

ToolTip

public object ToolTip { get; set; }

Property Value

Object

ContextMenu

public ContextMenu ContextMenu { get; set; }

Property Value

ContextMenu

Parent

public DependencyObject Parent { get; }

Property Value

DependencyObject

HasAnimatedProperties

public bool HasAnimatedProperties { get; }

Property Value

Boolean

InputBindings

public InputBindingCollection InputBindings { get; }

Property Value

InputBindingCollection

CommandBindings

public CommandBindingCollection CommandBindings { get; }

Property Value

CommandBindingCollection

AllowDrop

public bool AllowDrop { get; set; }

Property Value

Boolean

DesiredSize

public Size DesiredSize { get; }

Property Value

Size

IsMeasureValid

public bool IsMeasureValid { get; }

Property Value

Boolean

IsArrangeValid

public bool IsArrangeValid { get; }

Property Value

Boolean

RenderSize

public Size RenderSize { get; set; }

Property Value

Size

RenderTransform

public Transform RenderTransform { get; set; }

Property Value

Transform

RenderTransformOrigin

public Point RenderTransformOrigin { get; set; }

Property Value

Point

IsMouseDirectlyOver

public bool IsMouseDirectlyOver { get; }

Property Value

Boolean

IsMouseOver

public bool IsMouseOver { get; }

Property Value

Boolean

IsStylusOver

public bool IsStylusOver { get; }

Property Value

Boolean

IsKeyboardFocusWithin

public bool IsKeyboardFocusWithin { get; }

Property Value

Boolean

IsMouseCaptured

public bool IsMouseCaptured { get; }

Property Value

Boolean

IsMouseCaptureWithin

public bool IsMouseCaptureWithin { get; }

Property Value

Boolean

IsStylusDirectlyOver

public bool IsStylusDirectlyOver { get; }

Property Value

Boolean

IsStylusCaptured

public bool IsStylusCaptured { get; }

Property Value

Boolean

IsStylusCaptureWithin

public bool IsStylusCaptureWithin { get; }

Property Value

Boolean

IsKeyboardFocused

public bool IsKeyboardFocused { get; }

Property Value

Boolean

IsInputMethodEnabled

public bool IsInputMethodEnabled { get; }

Property Value

Boolean

Opacity

public double Opacity { get; set; }

Property Value

Double

OpacityMask

public Brush OpacityMask { get; set; }

Property Value

Brush

BitmapEffect

public BitmapEffect BitmapEffect { get; set; }

Property Value

BitmapEffect

Effect

public Effect Effect { get; set; }

Property Value

Effect

BitmapEffectInput

public BitmapEffectInput BitmapEffectInput { get; set; }

Property Value

BitmapEffectInput

CacheMode

public CacheMode CacheMode { get; set; }

Property Value

CacheMode

Uid

public string Uid { get; set; }

Property Value

String

Visibility

public Visibility Visibility { get; set; }

Property Value

Visibility

ClipToBounds

public bool ClipToBounds { get; set; }

Property Value

Boolean

Clip

public Geometry Clip { get; set; }

Property Value

Geometry

SnapsToDevicePixels

public bool SnapsToDevicePixels { get; set; }

Property Value

Boolean

IsFocused

public bool IsFocused { get; }

Property Value

Boolean

IsEnabled

public bool IsEnabled { get; set; }

Property Value

Boolean

IsHitTestVisible

public bool IsHitTestVisible { get; set; }

Property Value

Boolean

Focusable

public bool Focusable { get; set; }

Property Value

Boolean

PersistId

public int PersistId { get; }

Property Value

Int32

IsManipulationEnabled

public bool IsManipulationEnabled { get; set; }

Property Value

Boolean

AreAnyTouchesOver

public bool AreAnyTouchesOver { get; }

Property Value

Boolean

AreAnyTouchesDirectlyOver

public bool AreAnyTouchesDirectlyOver { get; }

Property Value

Boolean

AreAnyTouchesCapturedWithin

public bool AreAnyTouchesCapturedWithin { get; }

Property Value

Boolean

AreAnyTouchesCaptured

public bool AreAnyTouchesCaptured { get; }

Property Value

Boolean

TouchesCaptured

public IEnumerable<TouchDevice> TouchesCaptured { get; }

Property Value

IEnumerable<TouchDevice>

TouchesCapturedWithin

public IEnumerable<TouchDevice> TouchesCapturedWithin { get; }

Property Value

IEnumerable<TouchDevice>

TouchesOver

public IEnumerable<TouchDevice> TouchesOver { get; }

Property Value

IEnumerable<TouchDevice>

TouchesDirectlyOver

public IEnumerable<TouchDevice> TouchesDirectlyOver { get; }

Property Value

IEnumerable<TouchDevice>

DependencyObjectType

public DependencyObjectType DependencyObjectType { get; }

Property Value

DependencyObjectType

IsSealed

public bool IsSealed { get; }

Property Value

Boolean

Dispatcher

public Dispatcher Dispatcher { get; }

Property Value

Dispatcher

Methods

MouseDown(InteractionArguments)

This method will simulate the MouseDown interaction.

public InteractiveResult MouseDown(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
This parameter is the interaction arguments for the method.

Returns

InteractiveResult
Interaction results of this method.

Remarks:

This method is the concrete wrapper for its virtual Core method.

As this is a concrete public method that wraps a Core method, we reserve the right to add events and other logic to pre- or post-process data returned by the Core version of the method. In this way, we leave our framework open on our end, but also allow you the developer to extend our logic to suit your needs. If you have questions about this, please contact our support team as we would be happy to work with you on extending our framework.

MouseDownCore(InteractionArguments)

When overridden, performs the overlay-specific logic for a mouse-down interaction.

protected InteractiveResult MouseDownCore(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the pointer location, button state, and map coordinate.

Returns

InteractiveResult
An describing additional work for the overlay to carry out.

Exceptions

ArgumentNullException
Thrown when is null.

MouseMove(InteractionArguments)

Handles a mouse-move interaction by firing InteractiveOverlay.MapMouseMove and delegating to .

public InteractiveResult MouseMove(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the pointer movement and map coordinate.

Returns

InteractiveResult
The result returned by , or a default result when the overlay has not been initialized.

Exceptions

ArgumentNullException
Thrown when is null.

MouseMoveCore(InteractionArguments)

When overridden, performs the overlay-specific logic for a mouse-move interaction.

protected InteractiveResult MouseMoveCore(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the pointer movement and map coordinate.

Returns

InteractiveResult
An describing additional work for the overlay to carry out.

Exceptions

ArgumentNullException
Thrown when is null.

ManipulationStarted(InteractionArguments)

public InteractiveResult ManipulationStarted(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments

Returns

InteractiveResult

ManipulationStartedCore(InteractionArguments)

When overridden, performs the overlay-specific logic for the start of a manipulation gesture.

protected InteractiveResult ManipulationStartedCore(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information describing the touch gesture that started.

Returns

InteractiveResult
An describing follow-up work for the overlay to perform.

ManipulationDelta(InteractionArguments)

public InteractiveResult ManipulationDelta(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments

Returns

InteractiveResult

ManipulationDeltaCore(InteractionArguments)

When overridden, performs the overlay-specific logic for changes during a manipulation gesture.

protected InteractiveResult ManipulationDeltaCore(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information describing the current manipulation delta.

Returns

InteractiveResult
An describing follow-up work for the overlay to perform.

Exceptions

ArgumentNullException
Thrown when is null.

ManipulationCompleted(InteractionArguments)

public InteractiveResult ManipulationCompleted(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments

Returns

InteractiveResult

ManipulationCompletedCore(InteractionArguments)

When overridden, performs the overlay-specific logic once a manipulation gesture completes.

protected InteractiveResult ManipulationCompletedCore(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information describing the completed manipulation gesture.

Returns

InteractiveResult
An describing follow-up work for the overlay to perform.

MouseUp(InteractionArguments)

Handles a mouse-up interaction by raising events and delegating to .

public InteractiveResult MouseUp(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the pointer location, button state, and map coordinate.

Returns

InteractiveResult
The result returned by , or a default result when the overlay has not been initialized.

Exceptions

ArgumentNullException
Thrown when is null.

MouseUpCore(InteractionArguments)

When overridden, performs the overlay-specific logic for a mouse-up interaction.

protected InteractiveResult MouseUpCore(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the pointer location, button state, and map coordinate.

Returns

InteractiveResult
An describing follow-up work for the overlay to perform.

Exceptions

ArgumentNullException
Thrown when is null.

MouseClick(InteractionArguments)

Handles a mouse click by raising events and delegating to .

public InteractiveResult MouseClick(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the completed click and associated map coordinate.

Returns

InteractiveResult
The result returned by , or a default result when the overlay has not been initialized.

Exceptions

ArgumentNullException
Thrown when is null.

MouseClickCore(InteractionArguments)

When overridden, performs the overlay-specific logic for a mouse click.

protected InteractiveResult MouseClickCore(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the completed click and associated map coordinate.

Returns

InteractiveResult
An describing follow-up work for the overlay to perform.

Exceptions

ArgumentNullException
Thrown when is null.

MouseDoubleClick(InteractionArguments)

Handles a mouse double-click by raising events and delegating to .

public InteractiveResult MouseDoubleClick(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the double-click and associated map coordinate.

Returns

InteractiveResult
The result returned by , or a default result when the overlay has not been initialized.

Exceptions

ArgumentNullException
Thrown when is null.

MouseDoubleClickCore(InteractionArguments)

When overridden, performs the overlay-specific logic for a mouse double-click.

protected InteractiveResult MouseDoubleClickCore(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the double-click and associated map coordinate.

Returns

InteractiveResult
An describing follow-up work for the overlay to perform.

Exceptions

ArgumentNullException
Thrown when is null.

MouseWheel(InteractionArguments)

Handles mouse-wheel input by raising events and delegating to .

public InteractiveResult MouseWheel(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the wheel delta and associated map coordinate.

Returns

InteractiveResult
The result returned by , or a default result when the overlay has not been initialized.

Exceptions

ArgumentNullException
Thrown when is null.

MouseWheelCore(InteractionArguments)

When overridden, performs the overlay-specific logic for mouse-wheel input.

protected InteractiveResult MouseWheelCore(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the wheel delta and associated map coordinate.

Returns

InteractiveResult
An describing follow-up work for the overlay to perform.

Exceptions

ArgumentNullException
Thrown when is null.

MouseLeave(InteractionArguments)

Handles the pointer leaving the map and delegates to .

public InteractiveResult MouseLeave(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the pointer state when it left the map.

Returns

InteractiveResult
The result returned by , or a default result when the overlay has not been initialized.

Exceptions

ArgumentNullException
Thrown when is null.

MouseLeaveCore(InteractionArguments)

When overridden, performs the overlay-specific logic for the pointer leaving the map.

protected InteractiveResult MouseLeaveCore(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the pointer state when it left the map.

Returns

InteractiveResult
An describing follow-up work for the overlay to perform.

Exceptions

ArgumentNullException
Thrown when is null.

MouseEnter(InteractionArguments)

Handles the pointer entering the map and delegates to .

public InteractiveResult MouseEnter(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the pointer state when it entered the map.

Returns

InteractiveResult
The result returned by , or a default result when the overlay has not been initialized.

Exceptions

ArgumentNullException
Thrown when is null.

MouseEnterCore(InteractionArguments)

When overridden, performs the overlay-specific logic for the pointer entering the map.

protected InteractiveResult MouseEnterCore(InteractionArguments interactionArguments)

Parameters

interactionArguments InteractionArguments
Information about the pointer state when it entered the map.

Returns

InteractiveResult
An describing follow-up work for the overlay to perform.

Exceptions

ArgumentNullException
Thrown when is null.

KeyUp(KeyEventInteractionArguments)

Handles a key release over the map and delegates to .

public InteractiveResult KeyUp(KeyEventInteractionArguments interactionArguments)

Parameters

interactionArguments KeyEventInteractionArguments
Information about the key that was released and any modifier state.

Returns

InteractiveResult
The result returned by , or a default result when the overlay has not been initialized.

Exceptions

ArgumentNullException
Thrown when is null.

KeyUpCore(KeyEventInteractionArguments)

When overridden, performs the overlay-specific logic for a key release.

protected InteractiveResult KeyUpCore(KeyEventInteractionArguments interactionArguments)

Parameters

interactionArguments KeyEventInteractionArguments
Information about the key that was released and any modifier state.

Returns

InteractiveResult
An describing follow-up work for the overlay to perform.

Exceptions

ArgumentNullException
Thrown when is null.

KeyDown(KeyEventInteractionArguments)

Handles a key press over the map and delegates to .

public InteractiveResult KeyDown(KeyEventInteractionArguments interactionArguments)

Parameters

interactionArguments KeyEventInteractionArguments
Information about the key that was pressed and any modifier state.

Returns

InteractiveResult
The result returned by , or a default result when the overlay has not been initialized.

Exceptions

ArgumentNullException
Thrown when is null.

KeyDownCore(KeyEventInteractionArguments)

When overridden, performs the overlay-specific logic for a key press.

protected InteractiveResult KeyDownCore(KeyEventInteractionArguments interactionArguments)

Parameters

interactionArguments KeyEventInteractionArguments
Information about the key that was pressed and any modifier state.

Returns

InteractiveResult
An describing follow-up work for the overlay to perform.

Exceptions

ArgumentNullException
Thrown when is null.

OnMapMouseDown(MapMouseDownInteractiveOverlayEventArgs)

Raises the InteractiveOverlay.MapMouseDown event.

protected void OnMapMouseDown(MapMouseDownInteractiveOverlayEventArgs e)

Parameters

e MapMouseDownInteractiveOverlayEventArgs
Event data describing the mouse-down interaction.

OnMapMouseMove(MapMouseMoveInteractiveOverlayEventArgs)

Raises the InteractiveOverlay.MapMouseMove event.

protected void OnMapMouseMove(MapMouseMoveInteractiveOverlayEventArgs e)

Parameters

e MapMouseMoveInteractiveOverlayEventArgs
Event data describing the mouse move.

OnMapMouseUp(MapMouseUpInteractiveOverlayEventArgs)

Raises the InteractiveOverlay.MapMouseUp event.

protected void OnMapMouseUp(MapMouseUpInteractiveOverlayEventArgs e)

Parameters

e MapMouseUpInteractiveOverlayEventArgs
Event data describing the mouse-up interaction.

OnMapMouseClick(MapMouseClickInteractiveOverlayEventArgs)

Raises the InteractiveOverlay.MapMouseClick event.

protected void OnMapMouseClick(MapMouseClickInteractiveOverlayEventArgs e)

Parameters

e MapMouseClickInteractiveOverlayEventArgs
Event data describing the completed click.

OnMapMouseDoubleClick(MapMouseDoubleClickInteractiveOverlayEventArgs)

Raises the InteractiveOverlay.MapMouseDoubleClick event.

protected void OnMapMouseDoubleClick(MapMouseDoubleClickInteractiveOverlayEventArgs e)

Parameters

e MapMouseDoubleClickInteractiveOverlayEventArgs
Event data describing the double-click.

OnMapMouseWheel(MapMouseWheelInteractiveOverlayEventArgs)

Raises the InteractiveOverlay.MapMouseWheel event.

protected void OnMapMouseWheel(MapMouseWheelInteractiveOverlayEventArgs e)

Parameters

e MapMouseWheelInteractiveOverlayEventArgs
Event data describing the mouse-wheel interaction.

OnMapMouseLeave(MapMouseLeaveInteractiveOverlayEventArgs)

Raises the InteractiveOverlay.MapMouseLeave event.

protected void OnMapMouseLeave(MapMouseLeaveInteractiveOverlayEventArgs e)

Parameters

e MapMouseLeaveInteractiveOverlayEventArgs
Event data describing the pointer leaving the map.

OnMapMouseEnter(MapMouseEnterInteractiveOverlayEventArgs)

Raises the InteractiveOverlay.MapMouseEnter event.

protected void OnMapMouseEnter(MapMouseEnterInteractiveOverlayEventArgs e)

Parameters

e MapMouseEnterInteractiveOverlayEventArgs
Event data describing the pointer entering the map.

OnMapKeyUp(MapKeyUpInteractiveOverlayEventArgs)

Raises the InteractiveOverlay.MapKeyUp event.

protected void OnMapKeyUp(MapKeyUpInteractiveOverlayEventArgs e)

Parameters

e MapKeyUpInteractiveOverlayEventArgs
Event data describing the key release.

OnMapKeyDown(MapKeyDownInteractiveOverlayEventArgs)

Raises the InteractiveOverlay.MapKeyDown event.

protected void OnMapKeyDown(MapKeyDownInteractiveOverlayEventArgs e)

Parameters

e MapKeyDownInteractiveOverlayEventArgs
Event data describing the key press.

TransformCore(RectangleShape, ExtentChangedType)

Updates the internal tile transform to reflect an extent change.

protected void TransformCore(RectangleShape targetExtent, ExtentChangedType extentChangedType)

Parameters

targetExtent RectangleShape
The map extent being rendered.

extentChangedType ExtentChangedType
The reason the extent changed, such as pan or zoom.

DrawAsyncCore(RectangleShape, OverlayRefreshType, CancellationToken)

Draws the interactive overlay by composing the backing layer tile for the requested extent.

protected Task DrawAsyncCore(RectangleShape targetExtent, OverlayRefreshType overlayRefreshType, CancellationToken cancellationToken)

Parameters

targetExtent RectangleShape
The world extent currently visible on the map.

overlayRefreshType OverlayRefreshType
The type of refresh being performed (pan, redraw, or other).

cancellationToken CancellationToken
A token used to cancel the draw before completion.

Returns

Task
A task that completes once the overlay finishes drawing.

DrawTileAsyncCore(GeoCanvas)

When overridden, draws overlay content onto the provided canvas before it is committed to the tile view.

protected Task DrawTileAsyncCore(GeoCanvas geoCanvas)

Parameters

geoCanvas GeoCanvas
The canvas being rendered to.

Returns

Task
A task that completes when drawing is finished.

CommttingDrawing(OverlayRefreshType, LayerTileView)

When overridden, allows derived overlays to finalize drawing before the tile is rendered.

protected void CommttingDrawing(OverlayRefreshType overlayRefreshType, LayerTileView layerTile)

Parameters

overlayRefreshType OverlayRefreshType
The type of refresh being performed.

layerTile LayerTileView
The tile that will render to the overlay.

GetBufferedExtent(RectangleShape, Double)

internal RectangleShape GetBufferedExtent(RectangleShape targetExtent, double resolution)

Parameters

targetExtent RectangleShape

resolution Double

Returns

RectangleShape

Events

MapMouseMove

Occurs when the mouse moves across the map.

public event EventHandler<MapMouseMoveInteractiveOverlayEventArgs> MapMouseMove;

MapMouseDown

Occurs when a mouse button is pressed on the map.

public event EventHandler<MapMouseDownInteractiveOverlayEventArgs> MapMouseDown;

MapMouseUp

Occurs when a mouse button is released on the map.

public event EventHandler<MapMouseUpInteractiveOverlayEventArgs> MapMouseUp;

MapMouseClick

Occurs when the map registers a mouse click (press and release without movement).

public event EventHandler<MapMouseClickInteractiveOverlayEventArgs> MapMouseClick;

MapMouseDoubleClick

This event will be fired when Mouse double-clicked on the Map.

public event EventHandler<MapMouseDoubleClickInteractiveOverlayEventArgs> MapMouseDoubleClick;

MapMouseWheel

This event will be fired when Mouse wheel on the Map.

public event EventHandler<MapMouseWheelInteractiveOverlayEventArgs> MapMouseWheel;

MapMouseLeave

Occurs when mouse leave the map canvas.

public event EventHandler<MapMouseLeaveInteractiveOverlayEventArgs> MapMouseLeave;

MapMouseEnter

Occurs when mouse enter the map canvas.

public event EventHandler<MapMouseEnterInteractiveOverlayEventArgs> MapMouseEnter;

MapKeyDown

Occurs when key down on the map canvas.

public event EventHandler<MapKeyDownInteractiveOverlayEventArgs> MapKeyDown;

MapKeyUp

Occurs when key up on the map canvas.

public event EventHandler<MapKeyUpInteractiveOverlayEventArgs> MapKeyUp;

Drawing

This event raises before the overlay is drawing.

public event EventHandler<DrawingOverlayEventArgs> Drawing;

Drawn

This event raises after the overlay is drawn.

public event EventHandler<DrawnOverlayEventArgs> Drawn;

DrawingAttribution

public event EventHandler<DrawingAttributionOverlayEventArgs> DrawingAttribution;

DrawnAttribution

public event EventHandler<DrawnAttributionOverlayEventArgs> DrawnAttribution;

ThrowingException

Occurs when the overlay catches an exception and allows subscribers to decide whether it should be suppressed.

public event EventHandler<ThrowingExceptionOverlayEventArgs> ThrowingException;

TargetUpdated

public event EventHandler<DataTransferEventArgs> TargetUpdated;

SourceUpdated

public event EventHandler<DataTransferEventArgs> SourceUpdated;

DataContextChanged

public event DependencyPropertyChangedEventHandler DataContextChanged;

RequestBringIntoView

public event RequestBringIntoViewEventHandler RequestBringIntoView;

SizeChanged

public event SizeChangedEventHandler SizeChanged;

Initialized

public event EventHandler Initialized;

Loaded

public event RoutedEventHandler Loaded;

Unloaded

public event RoutedEventHandler Unloaded;

ToolTipOpening

public event ToolTipEventHandler ToolTipOpening;

ToolTipClosing

public event ToolTipEventHandler ToolTipClosing;

ContextMenuOpening

public event ContextMenuEventHandler ContextMenuOpening;

ContextMenuClosing

public event ContextMenuEventHandler ContextMenuClosing;

PreviewMouseDown

public event MouseButtonEventHandler PreviewMouseDown;

MouseDown

public event MouseButtonEventHandler MouseDown;

PreviewMouseUp

public event MouseButtonEventHandler PreviewMouseUp;

MouseUp

public event MouseButtonEventHandler MouseUp;

PreviewMouseLeftButtonDown

public event MouseButtonEventHandler PreviewMouseLeftButtonDown;

MouseLeftButtonDown

public event MouseButtonEventHandler MouseLeftButtonDown;

PreviewMouseLeftButtonUp

public event MouseButtonEventHandler PreviewMouseLeftButtonUp;

MouseLeftButtonUp

public event MouseButtonEventHandler MouseLeftButtonUp;

PreviewMouseRightButtonDown

public event MouseButtonEventHandler PreviewMouseRightButtonDown;

MouseRightButtonDown

public event MouseButtonEventHandler MouseRightButtonDown;

PreviewMouseRightButtonUp

public event MouseButtonEventHandler PreviewMouseRightButtonUp;

MouseRightButtonUp

public event MouseButtonEventHandler MouseRightButtonUp;

PreviewMouseMove

public event MouseEventHandler PreviewMouseMove;

MouseMove

public event MouseEventHandler MouseMove;

PreviewMouseWheel

public event MouseWheelEventHandler PreviewMouseWheel;

MouseWheel

public event MouseWheelEventHandler MouseWheel;

MouseEnter

public event MouseEventHandler MouseEnter;

MouseLeave

public event MouseEventHandler MouseLeave;

GotMouseCapture

public event MouseEventHandler GotMouseCapture;

LostMouseCapture

public event MouseEventHandler LostMouseCapture;

QueryCursor

public event QueryCursorEventHandler QueryCursor;

PreviewStylusDown

public event StylusDownEventHandler PreviewStylusDown;

StylusDown

public event StylusDownEventHandler StylusDown;

PreviewStylusUp

public event StylusEventHandler PreviewStylusUp;

StylusUp

public event StylusEventHandler StylusUp;

PreviewStylusMove

public event StylusEventHandler PreviewStylusMove;

StylusMove

public event StylusEventHandler StylusMove;

PreviewStylusInAirMove

public event StylusEventHandler PreviewStylusInAirMove;

StylusInAirMove

public event StylusEventHandler StylusInAirMove;

StylusEnter

public event StylusEventHandler StylusEnter;

StylusLeave

public event StylusEventHandler StylusLeave;

PreviewStylusInRange

public event StylusEventHandler PreviewStylusInRange;

StylusInRange

public event StylusEventHandler StylusInRange;

PreviewStylusOutOfRange

public event StylusEventHandler PreviewStylusOutOfRange;

StylusOutOfRange

public event StylusEventHandler StylusOutOfRange;

PreviewStylusSystemGesture

public event StylusSystemGestureEventHandler PreviewStylusSystemGesture;

StylusSystemGesture

public event StylusSystemGestureEventHandler StylusSystemGesture;

GotStylusCapture

public event StylusEventHandler GotStylusCapture;

LostStylusCapture

public event StylusEventHandler LostStylusCapture;

StylusButtonDown

public event StylusButtonEventHandler StylusButtonDown;

StylusButtonUp

public event StylusButtonEventHandler StylusButtonUp;

PreviewStylusButtonDown

public event StylusButtonEventHandler PreviewStylusButtonDown;

PreviewStylusButtonUp

public event StylusButtonEventHandler PreviewStylusButtonUp;

PreviewKeyDown

public event KeyEventHandler PreviewKeyDown;

KeyDown

public event KeyEventHandler KeyDown;

PreviewKeyUp

public event KeyEventHandler PreviewKeyUp;

KeyUp

public event KeyEventHandler KeyUp;

PreviewGotKeyboardFocus

public event KeyboardFocusChangedEventHandler PreviewGotKeyboardFocus;

GotKeyboardFocus

public event KeyboardFocusChangedEventHandler GotKeyboardFocus;

PreviewLostKeyboardFocus

public event KeyboardFocusChangedEventHandler PreviewLostKeyboardFocus;

LostKeyboardFocus

public event KeyboardFocusChangedEventHandler LostKeyboardFocus;

PreviewTextInput

public event TextCompositionEventHandler PreviewTextInput;

TextInput

public event TextCompositionEventHandler TextInput;

PreviewQueryContinueDrag

public event QueryContinueDragEventHandler PreviewQueryContinueDrag;

QueryContinueDrag

public event QueryContinueDragEventHandler QueryContinueDrag;

PreviewGiveFeedback

public event GiveFeedbackEventHandler PreviewGiveFeedback;

GiveFeedback

public event GiveFeedbackEventHandler GiveFeedback;

PreviewDragEnter

public event DragEventHandler PreviewDragEnter;

DragEnter

public event DragEventHandler DragEnter;

PreviewDragOver

public event DragEventHandler PreviewDragOver;

DragOver

public event DragEventHandler DragOver;

PreviewDragLeave

public event DragEventHandler PreviewDragLeave;

DragLeave

public event DragEventHandler DragLeave;

PreviewDrop

public event DragEventHandler PreviewDrop;

Drop

public event DragEventHandler Drop;

PreviewTouchDown

public event EventHandler<TouchEventArgs> PreviewTouchDown;

TouchDown

public event EventHandler<TouchEventArgs> TouchDown;

PreviewTouchMove

public event EventHandler<TouchEventArgs> PreviewTouchMove;

TouchMove

public event EventHandler<TouchEventArgs> TouchMove;

PreviewTouchUp

public event EventHandler<TouchEventArgs> PreviewTouchUp;

TouchUp

public event EventHandler<TouchEventArgs> TouchUp;

GotTouchCapture

public event EventHandler<TouchEventArgs> GotTouchCapture;

LostTouchCapture

public event EventHandler<TouchEventArgs> LostTouchCapture;

TouchEnter

public event EventHandler<TouchEventArgs> TouchEnter;

TouchLeave

public event EventHandler<TouchEventArgs> TouchLeave;

IsMouseDirectlyOverChanged

public event DependencyPropertyChangedEventHandler IsMouseDirectlyOverChanged;

IsKeyboardFocusWithinChanged

public event DependencyPropertyChangedEventHandler IsKeyboardFocusWithinChanged;

IsMouseCapturedChanged

public event DependencyPropertyChangedEventHandler IsMouseCapturedChanged;

IsMouseCaptureWithinChanged

public event DependencyPropertyChangedEventHandler IsMouseCaptureWithinChanged;

IsStylusDirectlyOverChanged

public event DependencyPropertyChangedEventHandler IsStylusDirectlyOverChanged;

IsStylusCapturedChanged

public event DependencyPropertyChangedEventHandler IsStylusCapturedChanged;

IsStylusCaptureWithinChanged

public event DependencyPropertyChangedEventHandler IsStylusCaptureWithinChanged;

IsKeyboardFocusedChanged

public event DependencyPropertyChangedEventHandler IsKeyboardFocusedChanged;

LayoutUpdated

public event EventHandler LayoutUpdated;

GotFocus

public event RoutedEventHandler GotFocus;

LostFocus

public event RoutedEventHandler LostFocus;

IsEnabledChanged

public event DependencyPropertyChangedEventHandler IsEnabledChanged;

IsHitTestVisibleChanged

public event DependencyPropertyChangedEventHandler IsHitTestVisibleChanged;

IsVisibleChanged

public event DependencyPropertyChangedEventHandler IsVisibleChanged;

FocusableChanged

public event DependencyPropertyChangedEventHandler FocusableChanged;

ManipulationStarting

public event EventHandler<ManipulationStartingEventArgs> ManipulationStarting;

ManipulationStarted

public event EventHandler<ManipulationStartedEventArgs> ManipulationStarted;

ManipulationDelta

public event EventHandler<ManipulationDeltaEventArgs> ManipulationDelta;

ManipulationInertiaStarting

public event EventHandler<ManipulationInertiaStartingEventArgs> ManipulationInertiaStarting;

ManipulationBoundaryFeedback

public event EventHandler<ManipulationBoundaryFeedbackEventArgs> ManipulationBoundaryFeedback;

ManipulationCompleted

public event EventHandler<ManipulationCompletedEventArgs> ManipulationCompleted;