Skip to content

TileView

Namespace: ThinkGeo.UI.Maui

A subclass of Microsoft.Maui.Controls.Image. It is used as a tile in TileOverlay.

public abstract class TileView : Microsoft.Maui.Controls.Image, System.ComponentModel.INotifyPropertyChanged, Microsoft.Maui.Controls.Internals.IDynamicResourceHandler, Microsoft.Maui.Controls.IElementDefinition, Microsoft.Maui.Controls.Internals.INameScope, Microsoft.Maui.Controls.IElementController, Microsoft.Maui.IVisualTreeElement, Microsoft.Maui.IElement, Microsoft.Maui.Controls.IEffectControlProvider, Microsoft.Maui.IToolTipElement, Microsoft.Maui.IContextFlyoutElement, Microsoft.Maui.Controls.IControlsElement, Microsoft.Maui.Controls.StyleSheets.IStyleSelectable, Microsoft.Maui.Controls.Internals.INavigationProxy, Microsoft.Maui.Controls.IAnimatable, Microsoft.Maui.Controls.IVisualElementController, Microsoft.Maui.Controls.IResourcesProvider, Microsoft.Maui.Controls.IStyleElement, Microsoft.Maui.Controls.IFlowDirectionController, Microsoft.Maui.Controls.IPropertyPropagationController, Microsoft.Maui.Controls.IVisualController, Microsoft.Maui.Controls.IWindowController, Microsoft.Maui.IView, Microsoft.Maui.ITransform, Microsoft.Maui.Controls.IControlsVisualElement, Microsoft.Maui.Controls.StyleSheets.IStylable, Microsoft.Maui.Controls.IViewController, Microsoft.Maui.Controls.Internals.IGestureController, Microsoft.Maui.Controls.IGestureRecognizers, Microsoft.Maui.IPropertyMapperView, Microsoft.Maui.HotReload.IHotReloadableView, Microsoft.Maui.IReplaceableView, Microsoft.Maui.Controls.IControlsView, Microsoft.Maui.Controls.IImageController, Microsoft.Maui.Controls.IElementConfiguration`1[[Microsoft.Maui.Controls.Image, Microsoft.Maui.Controls, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]], Microsoft.Maui.Controls.IImageElement, Microsoft.Maui.IImage, Microsoft.Maui.IImageSourcePart, System.IDisposable

Inheritance Object → BindableObject → Element → NavigableElement → VisualElement → View → Image → TileView
Implements INotifyPropertyChanged, IDynamicResourceHandler, IElementDefinition, INameScope, IElementController, IVisualTreeElement, IElement, IEffectControlProvider, IToolTipElement, IContextFlyoutElement, IControlsElement, IStyleSelectable, INavigationProxy, IAnimatable, IVisualElementController, IResourcesProvider, IStyleElement, IFlowDirectionController, IPropertyPropagationController, IVisualController, IWindowController, IView, ITransform, IControlsVisualElement, IStylable, IViewController, IGestureController, IGestureRecognizers, IPropertyMapperView, IHotReloadableView, IReplaceableView, IControlsView, IImageController, IElementConfiguration<Image>, IImageElement, IImage, IImageSourcePart, IDisposable

Properties

DrawingExceptionMode

Gets or sets how to specify the exception in current drawing process.

public DrawingExceptionMode DrawingExceptionMode { get; set; }

Property Value

DrawingExceptionMode

Exception

User can set the customer exception, and we can paint that.

public Exception Exception { get; protected set; }

Property Value

Exception

BoundingBox

Gets or sets an extent that uses for drawing.

public RectangleShape BoundingBox { get; set; }

Property Value

RectangleShape

RowIndex

Gets or sets tile's row index in tile overlay.

public long RowIndex { get; set; }

Property Value

Int64

ColumnIndex

Gets or sets tile's column index in tile overlay.

public long ColumnIndex { get; set; }

Property Value

Int64

ZoomLevelIndex

Gets or sets current level index in the ZoomLevelSet.

public int ZoomLevelIndex { get; set; }

Property Value

Int32

Aspect

public Aspect Aspect { get; set; }

Property Value

Aspect

IsLoading

public bool IsLoading { get; }

Property Value

Boolean

IsOpaque

public bool IsOpaque { get; set; }

Property Value

Boolean

IsAnimationPlaying

public bool IsAnimationPlaying { get; set; }

Property Value

Boolean

Source

public ImageSource Source { get; set; }

Property Value

ImageSource

GestureRecognizers

public IList<IGestureRecognizer> GestureRecognizers { get; }

Property Value

IList<IGestureRecognizer>

HorizontalOptions

public LayoutOptions HorizontalOptions { get; set; }

Property Value

LayoutOptions

Margin

public Thickness Margin { get; set; }

Property Value

Thickness

VerticalOptions

public LayoutOptions VerticalOptions { get; set; }

Property Value

LayoutOptions

Visual

public IVisual Visual { get; set; }

Property Value

IVisual

FlowDirection

public FlowDirection FlowDirection { get; set; }

Property Value

FlowDirection

Window

public Window Window { get; }

Property Value

Window

AnchorX

public double AnchorX { get; set; }

Property Value

Double

AnchorY

public double AnchorY { get; set; }

Property Value

Double

BackgroundColor

public Color BackgroundColor { get; set; }

Property Value

Color

Background

public Brush Background { get; set; }

Property Value

Brush

Behaviors

public IList<Behavior> Behaviors { get; }

Property Value

IList<Behavior>

Bounds

public Rect Bounds { get; }

Property Value

Rect

Height

public double Height { get; }

Property Value

Double

HeightRequest

public double HeightRequest { get; set; }

Property Value

Double

InputTransparent

public bool InputTransparent { get; set; }

Property Value

Boolean

IsEnabled

public bool IsEnabled { get; set; }

Property Value

Boolean

IsFocused

public bool IsFocused { get; }

Property Value

Boolean

IsVisible

public bool IsVisible { get; set; }

Property Value

Boolean

MinimumHeightRequest

public double MinimumHeightRequest { get; set; }

Property Value

Double

MinimumWidthRequest

public double MinimumWidthRequest { get; set; }

Property Value

Double

MaximumHeightRequest

public double MaximumHeightRequest { get; set; }

Property Value

Double

MaximumWidthRequest

public double MaximumWidthRequest { get; set; }

Property Value

Double

Opacity

public double Opacity { get; set; }

Property Value

Double

Rotation

public double Rotation { get; set; }

Property Value

Double

RotationX

public double RotationX { get; set; }

Property Value

Double

RotationY

public double RotationY { get; set; }

Property Value

Double

Scale

public double Scale { get; set; }

Property Value

Double

ScaleX

public double ScaleX { get; set; }

Property Value

Double

ScaleY

public double ScaleY { get; set; }

Property Value

Double

TranslationX

public double TranslationX { get; set; }

Property Value

Double

TranslationY

public double TranslationY { get; set; }

Property Value

Double

Triggers

public IList<TriggerBase> Triggers { get; }

Property Value

IList<TriggerBase>

Width

public double Width { get; }

Property Value

Double

WidthRequest

public double WidthRequest { get; set; }

Property Value

Double

X

public double X { get; }

Property Value

Double

Y

public double Y { get; }

Property Value

Double

Clip

public Geometry Clip { get; set; }

Property Value

Geometry

Batched

public bool Batched { get; }

Property Value

Boolean

DisableLayout

public bool DisableLayout { get; set; }

Property Value

Boolean

IsInPlatformLayout

public bool IsInPlatformLayout { get; set; }

Property Value

Boolean

IsPlatformStateConsistent

public bool IsPlatformStateConsistent { get; set; }

Property Value

Boolean

IsPlatformEnabled

public bool IsPlatformEnabled { get; set; }

Property Value

Boolean

Resources

public ResourceDictionary Resources { get; set; }

Property Value

ResourceDictionary

Frame

public Rect Frame { get; set; }

Property Value

Rect

Handler

public IViewHandler Handler { get; set; }

Property Value

IViewHandler

Shadow

public Shadow Shadow { get; set; }

Property Value

Shadow

ZIndex

public int ZIndex { get; set; }

Property Value

Int32

DesiredSize

public Size DesiredSize { get; protected set; }

Property Value

Size

IsLoaded

public bool IsLoaded { get; }

Property Value

Boolean

public INavigation Navigation { get; internal set; }

Property Value

INavigation

Style

public Style Style { get; set; }

Property Value

Style

StyleClass

public IList<string> StyleClass { get; set; }

Property Value

IList<String>

class

public IList<string> class { get; set; }

Property Value

IList<String>

public NavigationProxy NavigationProxy { get; }

Property Value

NavigationProxy

AutomationId

public string AutomationId { get; set; }

Property Value

String

ClassId

public string ClassId { get; set; }

Property Value

String

Effects

public IList<Effect> Effects { get; }

Property Value

IList<Effect>

Id

public Guid Id { get; }

Property Value

Guid

StyleId

public string StyleId { get; set; }

Property Value

String

LogicalChildren

public ReadOnlyCollection<Element> LogicalChildren { get; }

Property Value

ReadOnlyCollection<Element>

RealParent

public Element RealParent { get; }

Property Value

Element

Parent

public Element Parent { get; set; }

Property Value

Element

EffectControlProvider

public IEffectControlProvider EffectControlProvider { get; set; }

Property Value

IEffectControlProvider

Handler

public IElementHandler Handler { get; set; }

Property Value

IElementHandler

Dispatcher

public IDispatcher Dispatcher { get; }

Property Value

IDispatcher

BindingContext

public object BindingContext { get; set; }

Property Value

Object

Methods

SetImageAsync(GeoImage, CancellationToken)

internal Task SetImageAsync(GeoImage image, CancellationToken cancellationToken)

Parameters

image GeoImage

cancellationToken CancellationToken

Returns

Task

DrawAsync(GeoCanvas, CancellationToken)

This method draws the image for tile.

public Task DrawAsync(GeoCanvas geoCanvas, CancellationToken cancellationToken)

Parameters

geoCanvas GeoCanvas
This parameter is the canvas object to draw on.

cancellationToken CancellationToken
The token to monitor the cancellation requests.

Returns

Task

Remarks:

This method is the concrete wrapper for the virtual method DrawCore. This method draws the representation for the overlay based on the extent you provided.

DrawAsync(Double, Double, Double, GeographyUnit, CancellationToken)

internal Task DrawAsync(double tileWidth, double tileHeight, double scaleFactor, GeographyUnit mapUnit, CancellationToken cancellationToken)

Parameters

tileWidth Double

tileHeight Double

scaleFactor Double

mapUnit GeographyUnit

cancellationToken CancellationToken

Returns

Task

PostAsync(CancellationToken)

internal Task PostAsync(CancellationToken cancellationToken)

Parameters

cancellationToken CancellationToken

Returns

Task

DrawAsyncCore(GeoCanvas)

This method draws the image for the tile.

protected abstract Task DrawAsyncCore(GeoCanvas geoCanvas)

Parameters

geoCanvas GeoCanvas
This parameter is the canvas object to draw on.

Returns

Task

Remarks:

When implementing this abstract method, consider if the IsAsync property. If yes, draw it in background thread; If no, draw it directly with the properties we provided.

OnDrawing(DrawingTileViewEventArgs)

This method raises before the tile is drawing.

protected void OnDrawing(DrawingTileViewEventArgs args)

Parameters

args DrawingTileViewEventArgs
An event argument for the Drawing event in TileView class.

OnPosted(PostedTileViewEventArgs)

This method raises after the tile is drawn.

protected void OnPosted(PostedTileViewEventArgs args)

Parameters

args PostedTileViewEventArgs
An event argument for the Drawn event in the TileView class.

Dispose()

This method implements the IDispose method. This method is the concrete wrapper for the abstract method DisposeCore.

public void Dispose()

Dispose(Boolean)

This method disposes all the unmanaged resource in the tile.

protected void Dispose(bool disposing)

Parameters

disposing Boolean

Remarks:

When implementing this method, consider the stop the background threading when drawing asynchronously.

Transform(Double, RectangleShape)

internal void Transform(double scale, RectangleShape boundingBox)

Parameters

scale Double

boundingBox RectangleShape

TransformForSingleTile(Double, RectangleShape)

internal void TransformForSingleTile(double scale, RectangleShape boundingBox)

Parameters

scale Double

boundingBox RectangleShape

Events

Drawing

This is an event raises before the tile is drawing.

public event EventHandler<DrawingTileViewEventArgs> Drawing;

Posted

This is an event raises after the tile is drawn.

public event EventHandler<PostedTileViewEventArgs> Posted;

ChildrenReordered

public event EventHandler ChildrenReordered;

Focused

public event EventHandler<FocusEventArgs> Focused;

MeasureInvalidated

public event EventHandler MeasureInvalidated;

SizeChanged

public event EventHandler SizeChanged;

Unfocused

public event EventHandler<FocusEventArgs> Unfocused;

BatchCommitted

public event EventHandler<EventArg<VisualElement>> BatchCommitted;

FocusChangeRequested

public event EventHandler<FocusRequestArgs> FocusChangeRequested;

Loaded

public event EventHandler Loaded;

Unloaded

public event EventHandler Unloaded;

ChildAdded

public event EventHandler<ElementEventArgs> ChildAdded;

ChildRemoved

public event EventHandler<ElementEventArgs> ChildRemoved;

DescendantAdded

public event EventHandler<ElementEventArgs> DescendantAdded;

DescendantRemoved

public event EventHandler<ElementEventArgs> DescendantRemoved;

ParentChanging

public event EventHandler<ParentChangingEventArgs> ParentChanging;

ParentChanged

public event EventHandler ParentChanged;

HandlerChanging

public event EventHandler<HandlerChangingEventArgs> HandlerChanging;

HandlerChanged

public event EventHandler HandlerChanged;

PropertyChanged

public event PropertyChangedEventHandler PropertyChanged;

PropertyChanging

public event PropertyChangingEventHandler PropertyChanging;

BindingContextChanged

public event EventHandler BindingContextChanged;