Show / Hide Table of Contents

Class SceneView

A user interface control that displays three-dimensional (3D) geographic content defined by a Scene.

Inheritance
object
BindableObject
Element
StyleableElement
NavigableElement
VisualElement
View
GeoView
SceneView
Implements
INotifyPropertyChanged
IVisualTreeElement
IEffectControlProvider
IToolTipElement
IContextFlyoutElement
IAnimatable
IViewController
IVisualElementController
IElementController
IGestureController
IGestureRecognizers
IPropertyMapperView
IHotReloadableView
IReplaceableView
ISceneView
IGeoView
IView
IElement
ITransform
GeoView.ShowCalloutForGeoElement(GeoElement, Point, CalloutDefinition)
GeoView.ShowCalloutAt(MapPoint, CalloutDefinition)
GeoView.ShowCalloutAt(MapPoint, VisualElement, Point)
GeoView.DismissCallout()
GeoView.IsCalloutVisible
GeoView.OnHandlerChanged()
GeoView.OnParentSet()
GeoView.ExportImageAsync()
GeoView.GetCurrentViewpoint(ViewpointType)
GeoView.SetViewpoint(Viewpoint)
GeoView.SetViewpointAsync(Viewpoint)
GeoView.SetViewpointAsync(Viewpoint, TimeSpan)
GeoView.SetBookmarkAsync(Bookmark)
GeoView.CancelSetViewpointOperations()
GeoView.GetLayerViewState(Layer)
GeoView.GetAnalysisViewState(Analysis)
GeoView.IdentifyGraphicsOverlayAsync(GraphicsOverlay, Point, double, bool)
GeoView.IdentifyGraphicsOverlayAsync(GraphicsOverlay, Point, double, bool, long)
GeoView.IdentifyGraphicsOverlaysAsync(Point, double, bool)
GeoView.IdentifyGraphicsOverlaysAsync(Point, double, bool, long)
GeoView.IdentifyLayerAsync(Layer, Point, double, bool)
GeoView.IdentifyLayerAsync(Layer, Point, double, bool, CancellationToken)
GeoView.IdentifyLayerAsync(Layer, Point, double, bool, long)
GeoView.IdentifyLayerAsync(Layer, Point, double, bool, long, CancellationToken)
GeoView.IdentifyLayersAsync(Point, double, bool)
GeoView.IdentifyLayersAsync(Point, double, bool, CancellationToken)
GeoView.IdentifyLayersAsync(Point, double, bool, long)
GeoView.IdentifyLayersAsync(Point, double, bool, long, CancellationToken)
GeoView.NavigationCompleted
GeoView.DrawStatusChanged
GeoView.LayerViewStateChanged
GeoView.SpatialReferenceChanged
GeoView.ViewpointChanged
GeoView.GeoViewTapped
GeoView.GeoViewDoubleTapped
GeoView.GeoViewHolding
GeoView.AnalysisViewStateChanged
GeoView.CriticalErrorChanged
GeoView.GeoModelErrorChanged
GeoView.GraphicsOverlaysProperty
GeoView.GraphicsOverlays
GeoView.IsAttributionTextVisibleProperty
GeoView.IsAttributionTextVisible
GeoView.AttributionText
GeoView.LabelingProperty
GeoView.Labeling
GeoView.ViewInsetsProperty
GeoView.ViewInsets
GeoView.TimeExtentProperty
GeoView.TimeExtent
GeoView.SpatialReference
GeoView.IsWrapAroundEnabled
GeoView.IsNavigating
GeoView.DrawStatus
GeoView.SelectionPropertiesProperty
GeoView.SelectionProperties
GeoView.GridProperty
GeoView.Grid
GeoView.ImageOverlaysProperty
GeoView.ImageOverlays
GeoView.AnalysisOverlays
GeoView.GeoModelError
GeoView.CriticalError
View.VerticalOptionsProperty
View.HorizontalOptionsProperty
View.MarginProperty
View.propertyMapper
View.ChangeVisualState()
View.GetChildElements(Point)
View.OnBindingContextChanged()
View.GetRendererOverrides<T>()
View.GestureController
View.GestureRecognizers
View.HorizontalOptions
View.Margin
View.VerticalOptions
VisualElement.NavigationProperty
VisualElement.StyleProperty
VisualElement.InputTransparentProperty
VisualElement.IsEnabledProperty
VisualElement.XProperty
VisualElement.YProperty
VisualElement.AnchorXProperty
VisualElement.AnchorYProperty
VisualElement.TranslationXProperty
VisualElement.TranslationYProperty
VisualElement.WidthProperty
VisualElement.HeightProperty
VisualElement.RotationProperty
VisualElement.RotationXProperty
VisualElement.RotationYProperty
VisualElement.ScaleProperty
VisualElement.ScaleXProperty
VisualElement.ScaleYProperty
VisualElement.ClipProperty
VisualElement.VisualProperty
VisualElement.IsVisibleProperty
VisualElement.OpacityProperty
VisualElement.BackgroundColorProperty
VisualElement.BackgroundProperty
VisualElement.BehaviorsProperty
VisualElement.TriggersProperty
VisualElement.WidthRequestProperty
VisualElement.HeightRequestProperty
VisualElement.MinimumWidthRequestProperty
VisualElement.MinimumHeightRequestProperty
VisualElement.MaximumWidthRequestProperty
VisualElement.MaximumHeightRequestProperty
VisualElement.IsFocusedProperty
VisualElement.FlowDirectionProperty
VisualElement.WindowProperty
VisualElement.ShadowProperty
VisualElement.ZIndexProperty
VisualElement.BatchBegin()
VisualElement.BatchCommit()
VisualElement.Focus()
VisualElement.Measure(double, double)
VisualElement.Measure(double, double, MeasureFlags)
VisualElement.Unfocus()
VisualElement.InvalidateMeasure()
VisualElement.OnChildAdded(Element)
VisualElement.OnChildRemoved(Element, int)
VisualElement.OnChildrenReordered()
VisualElement.OnMeasure(double, double)
VisualElement.OnSizeAllocated(double, double)
VisualElement.SizeAllocated(double, double)
VisualElement.RefreshIsEnabledProperty()
VisualElement.Arrange(Rect)
VisualElement.ArrangeOverride(Rect)
VisualElement.Layout(Rect)
VisualElement.InvalidateMeasureOverride()
VisualElement.MeasureOverride(double, double)
VisualElement.MapBackgroundColor(IViewHandler, IView)
VisualElement.MapBackgroundImageSource(IViewHandler, IView)
VisualElement.MapAccessKeyHorizontalOffset(IViewHandler, IView)
VisualElement.MapAccessKeyPlacement(IViewHandler, IView)
VisualElement.MapAccessKey(IViewHandler, IView)
VisualElement.MapAccessKeyVerticalOffset(IViewHandler, IView)
VisualElement.Visual
VisualElement.FlowDirection
VisualElement.Window
VisualElement.AnchorX
VisualElement.AnchorY
VisualElement.BackgroundColor
VisualElement.Background
VisualElement.Behaviors
VisualElement.Bounds
VisualElement.Height
VisualElement.HeightRequest
VisualElement.InputTransparent
VisualElement.IsEnabled
VisualElement.IsEnabledCore
VisualElement.IsFocused
VisualElement.IsVisible
VisualElement.MinimumHeightRequest
VisualElement.MinimumWidthRequest
VisualElement.MaximumHeightRequest
VisualElement.MaximumWidthRequest
VisualElement.Opacity
VisualElement.Rotation
VisualElement.RotationX
VisualElement.RotationY
VisualElement.Scale
VisualElement.ScaleX
VisualElement.ScaleY
VisualElement.TranslationX
VisualElement.TranslationY
VisualElement.Triggers
VisualElement.Width
VisualElement.WidthRequest
VisualElement.X
VisualElement.Y
VisualElement.Clip
VisualElement.Resources
VisualElement.Frame
VisualElement.Handler
VisualElement.Shadow
VisualElement.ZIndex
VisualElement.DesiredSize
VisualElement.IsLoaded
VisualElement.ChildrenReordered
VisualElement.Focused
VisualElement.MeasureInvalidated
VisualElement.SizeChanged
VisualElement.Unfocused
VisualElement.Loaded
VisualElement.Unloaded
NavigableElement.Navigation
StyleableElement.Style
StyleableElement.StyleClass
StyleableElement.class
Element.AutomationIdProperty
Element.ClassIdProperty
Element.InsertLogicalChild(int, Element)
Element.AddLogicalChild(Element)
Element.RemoveLogicalChild(Element)
Element.ClearLogicalChildren()
Element.FindByName(string)
Element.RemoveDynamicResource(BindableProperty)
Element.SetDynamicResource(BindableProperty, string)
Element.OnPropertyChanged(string)
Element.OnParentChanging(ParentChangingEventArgs)
Element.OnParentChanged()
Element.OnHandlerChanging(HandlerChangingEventArgs)
Element.MapAutomationPropertiesIsInAccessibleTree(IElementHandler, Element)
Element.MapAutomationPropertiesLabeledBy(IElementHandler, Element)
Element.MapAutomationPropertiesHelpText(IElementHandler, Element)
Element.MapAutomationPropertiesName(IElementHandler, Element)
Element.MapAutomationPropertiesExcludedWithChildren(IElementHandler, Element)
Element.AutomationId
Element.ClassId
Element.Effects
Element.Id
Element.StyleId
Element.Parent
Element.ChildAdded
Element.ChildRemoved
Element.DescendantAdded
Element.DescendantRemoved
Element.ParentChanging
Element.ParentChanged
Element.HandlerChanging
Element.HandlerChanged
BindableObject.BindingContextProperty
BindableObject.ClearValue(BindableProperty)
BindableObject.ClearValue(BindablePropertyKey)
BindableObject.GetValue(BindableProperty)
BindableObject.IsSet(BindableProperty)
BindableObject.RemoveBinding(BindableProperty)
BindableObject.SetBinding(BindableProperty, BindingBase)
BindableObject.ApplyBindings()
BindableObject.OnPropertyChanging(string)
BindableObject.UnapplyBindings()
BindableObject.SetValue(BindableProperty, object)
BindableObject.SetValue(BindablePropertyKey, object)
BindableObject.CoerceValue(BindableProperty)
BindableObject.CoerceValue(BindablePropertyKey)
BindableObject.Dispatcher
BindableObject.BindingContext
BindableObject.PropertyChanged
BindableObject.PropertyChanging
BindableObject.BindingContextChanged
object.Equals(object)
object.Equals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
object.ReferenceEquals(object, object)
object.ToString()
Namespace: Esri.ArcGISRuntime.Maui
Assembly: Esri.ArcGISRuntime.Maui.dll
Syntax
[ContentProperty("Scene")]
[WinRTRuntimeClassName("Microsoft.UI.Xaml.Data.INotifyPropertyChanged")]
[WinRTExposedType(typeof(SceneViewWinRTTypeDetails))]
public class SceneView : GeoView, INotifyPropertyChanged, IVisualTreeElement, IEffectControlProvider, IToolTipElement, IContextFlyoutElement, IAnimatable, IViewController, IVisualElementController, IElementController, IGestureController, IGestureRecognizers, IPropertyMapperView, IHotReloadableView, IReplaceableView, ISceneView, IGeoView, IView, IElement, ITransform
Remarks

The SceneView is a container that holds a Scene. A Scene holds a collection of operational layers and Basemap. Layers are visual representations of geographic information and come in many forms. The types of layers that are displayed in a SceneView are three dimensional.

A SceneView is a user interface that displays Scene layers and graphics in 3D. It uses a camera to control the visible area (extent) of the Scene and supports user interactions such as pan, zoom, tilt, and rotate. A scene view also provides access to the underlying layer data in a scene.

To display a Scene, add a SceneView control to your app and assign the scene to it. This loads the scene and its content, such as a Surface, Basemap and collection of operational layers, and displays this content on screen.

User interactions such as pan, zoom, tilt, rotate, and identify or selection are supported in the SceneView using touch, mouse, keyboard, or pen/pencil. If required, you can override keys, clicks, and gestures to provide a specific user experience.

The visible area (Viewpoint) of a SceneView is defined by the position and orientation of a Camera. To determine the current visible area, call GetCurrentViewpoint(ViewpointType). Make sure that any user-initiated or programmatic navigation is complete before getting the current Viewpoint by calling IsNavigating.

You can programmatically set the visible area by specifying a viewpoint. For example, to zoom to the Viewpoint specified by a camera, pass the Camera to the SceneView using one of its methods, such as SetViewpointCamera(Camera). The SceneView has a camera controller (CameraController) to manage the camera's movement and user interactions.

In an MVC architecture, the SceneView represents the View tier. The Model tier is represented by the Scene object which can provide a collection of operational layers, a Basemap and a Surface. You can only set one Scene per SceneView, but you can swap the Scene with another when the application is running. See the Scene view discussion in the developer guide for more information.

Constructors

Name Description
SceneView()

Initializes a new instance of the SceneView class.

Fields

Name Description
AmbientLightColorProperty

Identifies the AmbientLightColor bindable property.

AnalysisOverlaysProperty

Identifies the AnalysisOverlays bindable property.

AtmosphereEffectProperty

Identifies the AtmosphereEffect bindable property.

CameraControllerProperty

Identifies the CameraController bindable property.

InteractionOptionsProperty

Identifies the InteractionOptions bindable property.

SceneProperty

Identifies the Scene bindable property.

SpaceEffectProperty

Identifies the SpaceEffect bindable property.

SunLightingProperty

Identifies the SunLighting bindable property.

SunTimeProperty

Identifies the SunTime bindable property.

Properties

Name Description
AmbientLightColor

Gets or sets the color of the scene view's ambient light.

AtmosphereEffect

Gets or sets the effect applied to the scene's atmosphere.

Camera

Gets the current Camera for the view.

CameraController

Gets or sets the camera controller that manages the position, orientation, and movement of the camera for a SceneView.

FieldOfView

Gets the horizontal field of view of the scene view in degrees.

FieldOfViewDistortionRatio

Gets how much the vertical field of view is distorted.

InteractionOptions

Gets or sets a set of properties that control user interaction with the SceneView.

Scene

Gets or sets the scene that the SceneView is displaying.

SpaceEffect

Gets or sets the visual effect of outer space in the scene view. The modes are black with stars or transparent.

SunLighting

Gets or sets the type of ambient sunlight and shadows in the scene view.

SunTime

Gets or sets the position of the sun in the scene view based on a specific date and time.

Methods

Name Description
LocationToScreen(MapPoint)

Converts a location in map coordinates to a point in screen coordinates relative to the upper-left corner of the scene view.

LocationToScreen(MapPoint, out LocationVisibility)

Converts a location in map coordinates to a screen coordinate relative to the upper-left corner of the scene.

ScreenToBaseSurface(Point)

Converts the specified screen coordinate, relative to the upper-left corner of the scene view, to a location on the base surface in map coordinates.

ScreenToLocationAsync(Point)

Asynchronously converts a screen coordinate relative to the upper-left corner of the scene view to a location in map coordinates.

SetFieldOfView(double)

Sets the horizontal field of view of the scene view in degrees.

SetFieldOfView(double, double)

Sets the field of view on the scene view in degrees and determines how much the vertical field of view is distorted.

SetFieldOfView(float, float, float, float, float, float, DeviceOrientation)

Matches the field of view of the scene view to the field of view of a camera lens using the lens intrinsics characteristics.

SetViewpointCamera(Camera)

Immediately changes the display to the viewpoint specified by the given camera.

SetViewpointCameraAsync(Camera)

Changes the scene view to the new camera viewpoint asynchronously.

SetViewpointCameraAsync(Camera, TimeSpan)

Animates the display to the viewpoint specified by the given camera using the specified duration to arrive.

Applies to

TargetVersions
.NET200.0 - 300.0
.NET Windows200.0 - 300.0
.NET Android200.0 - 300.0
.NET iOS200.0 - 300.0
In this article
Provide feedback
Back to top Copyright © 2025 Esri.