Skip to content

Sample code for ArcGIS Maps SDK for .NET – WPF, WinUI, .NET MAUI


Notifications You must be signed in to change notification settings


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation

Link: ArcGIS Developers home Link: Documentation Link: Tutorials Badge: Samples Link: Demos Link: Toolkit Link: Templates Link: NuGet Link: Esri Community

ArcGIS Maps SDK for .NET - Samples

Screenshot of the sample viewer for WPF

Interactive samples demonstrate the ArcGIS Maps SDK for .NET API

Get started

If you're on Windows, the easiest way to get started is to download the viewer from the Microsoft Store:

Get it from Microsoft badge

Or, you can browse a searchable list of samples on the ArcGIS for developers website:

Link: WPF Link: WinUI Link: UWP Link: .NET MAUI

Build the samples locally

If you want to modify or debug sample code, you can clone this repo and load one of the following solutions:

  • All: src\ArcGIS.Viewers.All.sln
  • .NET MAUI (iOS, Android): src\MAUI\ArcGIS.Samples.Maui.sln

If you are only interested in one platform, you can open a platform-specific solutions:

  • WPF .NET: src\WPF\WPF.Viewer.Net.sln
  • .NET MAUI: src\MAUI\ArcGIS.Samples.Maui.sln
  • WinUI: src\WinUI\ArcGIS.WinUI.Viewer.sln

When the ArcGIS.Viewers.All.sln and WPF.Viewer.Net.sln are opened in Visual Studio, you can change the framework to .NET Framework from the debug button dropdown menu.

The following platforms are being kept for reference, but no new sample implementations are being added:

  • UWP: src\Windows\ArcGIS.UWP.Viewer.sln


IMPORTANT When you run the samples, you will need to provide an API key. You can get a free developer account and key on the ArcGIS Developers website. For more information see

  • The .NET sample viewers have a prompt for setting an API key. You can also hardcode your API key in the GetLocalKey() method of the ApiKeyManager class.
  • Before using WinUI, install the latest Windows SDK and the vsix plugin.
  • When compiling Universal Windows Platform or WinUI samples, make sure that you are compiling against x86/x64/ARM platform and not using AnyCPU.

Offline data

Several samples require local data to function properly. That data is downloaded to local storage automatically when a sample is run. This process is handled by the DataManager class (located in the 'Managers' folder in each viewer project). Samples that use the data manager to download their data are differentiated as follows:

  • They have RequiresOfflineData set to true in their metadata.json files
  • They have one or more entries under DataItemIds in their metadata.json files (these are portal item Ids)
  • They use the data manager to identify the correct path for their offline files at run time

See the contribution guidelines for more detailed information.


Supported system configurations for ArcGIS Maps SDK for .NET


Esri uses several tools to more efficiently manage the content in this repo. See Tools for more information.


Anyone and everyone is welcome to contribute.


Copyright 2022 Esri

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

A copy of the license is available in the repository's license.txt file.