Skip to content

Q3 2025 docs #761

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ navigation:
title: Visual Studio Extensions
position: 4
core:
title: NET Core
title: .NET Support
position: 5
winforms-converter:
title: WinForms application modernization wizard
Expand Down
159 changes: 159 additions & 0 deletions controls/gridview/ui-automation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,159 @@
---
title: UI Automation Support (UI Accessibility)
page_title: UI Automation Support (UI Accessibility) - RadGridView
description: UI Automation Support (UI Accessibility) for RadGridView.
slug: RadGridView-ui-automation
tags: RadGridView,ui,automation
published: True
position: 15
---

# UI Automation Support

With the __Q3 2025__ version of our controls, RadGridView supports UI Automation. The current implementation of UI Automation for RadGridView is similar to the __MS WinForms RadGridView Control Type__ implementation with some extended functionality. The main goal of this implementation is to ensure compliance with accessibility standards and to provide a common practice for automated testing.

This functionality is enabled by default. To disable it, you can set the __EnableUIAutomation__ property to false.


````C#

this.radGridView1.EnableUIAutomation = false;

````
````VB.NET

Me.radGridView1.EnableUIAutomation = False

````

## Relevant Properties

The table below outlines the __UI Automation__ properties most important for understanding and interacting with RadGridView control.

### Rows

|Row Element|UIA Row Provider|Specific Implementation|
|------|------|------|
|Data Row|DataRowHeaderItemUIAutomationProvider|✅|
|New Row|DataRowHeaderItemUIAutomationProvider|✅|
|Table Header Row|DataRowHeaderItemUIAutomationProvider|✅|

#### DataRowUIAutomationProvider

* AutomationElementIdentifiers.ControlTypeProperty.Id => ControlType.DataItem.Id
* AutomationElementIdentifiers.LocalizedControlTypeProperty.Id => "data item"
* AutomationElementIdentifiers.NameProperty.Id
* AutomationElementIdentifiers.OrientationProperty.Id
* AutomationElementIdentifiers.IsContentElementProperty.Id
* AutomationElementIdentifiers.HasKeyboardFocusProperty.Id
* AutomationElementIdentifiers.IsSelectionItemPatternAvailableProperty.Id
* AutomationElementIdentifiers.IsScrollItemPatternAvailableProperty.Id
* AutomationElementIdentifiers.IsGridItemPatternAvailableProperty.Id
* AutomationElementIdentifiers.IsTableItemPatternAvailableProperty.Id

[Selection Item Pattern](https://learn.microsoft.com/en-us/dotnet/api/system.windows.automation.provider.iselectionitemprovider?view=windowsdesktop-9.0)
[Scroll Item Pattern](https://learn.microsoft.com/en-us/dotnet/api/system.windows.automation.provider.iscrollitemprovider?view=windowsdesktop-9.0)
[Grid Item Pattern](https://learn.microsoft.com/en-us/dotnet/api/system.windows.automation.provider.igriditemprovider?view=windowsdesktop-9.0)
[Table Item Pattern](https://learn.microsoft.com/en-us/dotnet/api/system.windows.automation.provider.itableitemprovider?view=windowsdesktop-9.0)

#### NewRowUIAutomationProvider

* AutomationElementIdentifiers.ControlTypeProperty.Id => ControlType.DataItem.Id
* AutomationElementIdentifiers.LocalizedControlTypeProperty.Id => "data item"
* AutomationElementIdentifiers.NameProperty.Id => "TableAddNewRow"
* AutomationElementIdentifiers.OrientationProperty.Id
* AutomationElementIdentifiers.IsContentElementProperty.Id
* AutomationElementIdentifiers.HasKeyboardFocusProperty.Id

#### TableHeaderRowUIAutomationProvider

* AutomationElementIdentifiers.ControlTypeProperty.Id => ControlType.Header.Id
* AutomationElementIdentifiers.LocalizedControlTypeProperty.Id => "header"
* AutomationElementIdentifiers.NameProperty.Id => "TableHeaderRow"
* AutomationElementIdentifiers.OrientationProperty.Id
* AutomationElementIdentifiers.IsContentElementProperty.Id
* AutomationElementIdentifiers.HasKeyboardFocusProperty.Id
* AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id


### Cells

|Column Cells|UIA Cell Provider|Specific Implementation|
|------|------|------|
|GridViewRowHeaderColumn|DataRowHeaderItemUIAutomationProvider|✅|
|GridViewSelectColumn|DataRowSelectCellUIAutomationProvider|✅|
|GridViewTextBoxColumn|DataCellEditUIAutomationProvider|✅|
|GridViewDecimalColumn|DataCellSpinnerUIAutomationProvider|✅|
|GridViewDateTimeColumn|DataCellUIAutomationProvider|❌|
|GridViewCheckBoxColumn|DataCellCheckboxUIAutomationProvider|✅|
|GridViewHyperlinkColumn|DataCellHyperLinkUIAutomationProvider|✅|
|GridViewCommandColumn|DataCellCommandUIAutomationProvider|✅|
|GridViewComboBoxColumn|DataCellComboBoxUIAutomationProvider|✅|
|GridViewBrowseColumn|DataCellEditUIAutomationProvider|✅|
|GridViewCalculatorColumn|DataCellUIAutomationProvider|❌|
|GridViewColorColumn|DataCellUIAutomationProvider|❌|
|GridViewTimeSpanColumn|DataCellUIAutomationProvider|❌|
|GridViewImageColumn|DataCellImageUIAutomationProvider|✅|
|GridViewMaskBoxColumn|DataCellEditUIAutomationProvider|✅|
|GridViewColorColumn|DataCellUIAutomationProvider|❌|
|RadMultiColumnComboBoxElement|DataCellUIAutomationProvider|❌|
|GridViewRatingColumn|DataCellUIAutomationProvider|❌|
|GridViewSparklineColumn|DataCellUIAutomationProvider|❌|

#### DataRowHeaderItemUIAutomationProvider

* AutomationElementIdentifiers.ControlTypeProperty.Id => "header item"
* AutomationElementIdentifiers.LocalizedControlTypeProperty.Id => "header item"
* AutomationElementIdentifiers.IsOffscreenProperty.Id
* AutomationElementIdentifiers.NameProperty.Id
* AutomationElementIdentifiers.IsContentElementProperty.Id
* AutomationElementIdentifiers.IsControlElementProperty.Id
* AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id
* AutomationElementIdentifiers.IsInvokePatternAvailableProperty.Id

[InvokePattern](https://learn.microsoft.com/en-us/dotnet/api/system.windows.automation.provider.iinvokeprovider?view=windowsdesktop-9.0)

#### DataRowSelectCellUIAutomationProvider

* AutomationElementIdentifiers.ControlTypeProperty.Id => ControlType.CheckBox.Id
* AutomationElementIdentifiers.LocalizedControlTypeProperty.Id => "check box"
* AutomationElementIdentifiers.IsOffscreenProperty.Id
* AutomationElementIdentifiers.NameProperty.Id
* AutomationElementIdentifiers.IsContentElementProperty.Id
* AutomationElementIdentifiers.IsControlElementProperty.Id
* AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id
* AutomationElementIdentifiers.IsInvokePatternAvailableProperty.Id

[TogglePattern](https://learn.microsoft.com/en-us/dotnet/api/system.windows.automation.provider.itoggleprovider?view=windowsdesktop-9.0)

#### DataCellUIAutomationProvider

* AutomationElementIdentifiers.AutomationIdProperty.Id
* AutomationElementIdentifiers.ControlTypeProperty.Id => ControlType.CheckBox.Id
* AutomationElementIdentifiers.LocalizedControlTypeProperty.Id => "data item"
* AutomationElementIdentifiers.IsOffscreenProperty.Id
* AutomationElementIdentifiers.NameProperty.Id
* AutomationElementIdentifiers.IsContentElementProperty.Id
* AutomationElementIdentifiers.IsControlElementProperty.Id
* AutomationElementIdentifiers.IsKeyboardFocusableProperty.Id
* AutomationElementIdentifiers.IsInvokePatternAvailableProperty.Id

[Invoke Pattern](https://learn.microsoft.com/en-us/dotnet/api/system.windows.automation.provider.iinvokeprovider?view=windowsdesktop-9.0)
[Value Pattern](https://learn.microsoft.com/en-us/dotnet/api/system.windows.automation.valuepattern?view=windowsdesktop-9.0)
[Selection Item Pattern](https://learn.microsoft.com/en-us/dotnet/api/system.windows.automation.provider.iselectionitemprovider?view=windowsdesktop-9.0)
[Scroll Item Pattern](https://learn.microsoft.com/en-us/dotnet/api/system.windows.automation.provider.iscrollitemprovider?view=windowsdesktop-9.0)
[Grid Item Pattern](https://learn.microsoft.com/en-us/dotnet/api/system.windows.automation.provider.igriditemprovider?view=windowsdesktop-9.0)
[Table Item Pattern](https://learn.microsoft.com/en-us/dotnet/api/system.windows.automation.provider.itableitemprovider?view=windowsdesktop-9.0)

#### DataCellEditUIAutomationProvider

* AutomationElementIdentifiers.ControlTypeProperty.Id => ControlType.Edit.Id
* AutomationElementIdentifiers.LocalizedControlTypeProperty.Id => "edit"
* AutomationElementIdentifiers.IsControlElementProperty.Id => true

#### DataCellSpinnerUIAutomationProvider

* AutomationElementIdentifiers.ControlTypeProperty.Id => ControlType.Spinner.Id
* AutomationElementIdentifiers.LocalizedControlTypeProperty.Id => "spinner"


73 changes: 73 additions & 0 deletions controls/map/providers/azure-map/azuremapprovider.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
---
title: Azure Map Custom Provider
page_title: Azure Map Custom Provider - RadMap
description: RadMap can visualize tile data from the Azure API services as well as from the local file system.
slug: map-providers-azure-overview
tags: map, providers,azure
published: True
position: 0
---

# Azure Map Provider

The RadMap control supports visualizing tile data using the Azure Maps services. This is done via the AzureMapProvider class. This provider supports both raster and vector sources.

>important The AzureMapProvider class is introduced with the Q3 2025 official version of our controls.

![Azure Map Provider](images/azure_map_provider_1.png)

## Setting the AzureMapProvider

To use this provider, create a new AzureMapProvider instance and add it to the `Providers` collection of the RadMap control. After that, you will need to set the subscription key of the user's Azure account to the `AzureAPIKey` property of the AzureMapProvider instance. To obtain a key, you can review the [Manage authentication in Azure Maps](https://learn.microsoft.com/en-gb/azure/azure-maps/how-to-manage-authentication#view-authentication-details/) article.

#### Using AzureMapProvider

````C#

string cacheFolder = @"..\..\cache";
AzureMapProvider provider = new AzureMapProvider();
provider.TileSetID = AzureTileSet.Road;
provider.AzureAPIKey = AzureAPIKey;
LocalFileCacheProvider cache = new LocalFileCacheProvider(cacheFolder);
provider.CacheProvider = cache;
this.radMap1.Providers.Add(provider);

````
````VB.NET

Dim cacheFolder As String = "..\..\cache"
Dim provider As New AzureMapProvider()
provider.TileSetID = AzureTileSet.Road
provider.AzureAPIKey = AzureAPIKey
Dim cache As New LocalFileCacheProvider(cacheFolder)
provider.CacheProvider = cache
Me.radMap1.Providers.Add(provider)

````

{{endregion}}


## Language

The Azure Maps services provide a culture parameter in its URL address and the AzureMapProvider allows you to utilize it. To do so, set the `LanguageCulture` property to the desired culture string.

````C#

provider.LanguageCulture = new CultureInfo("bg-BG");

````
````VB.NET

provider.LanguageCulture = new CultureInfo("bg-BG")

````

![Azure Map Provider](images/azure_map_provider_2.png)


## Azure API Version

The AzureMapProvider provides the functionality to specify the [Render](https://learn.microsoft.com/en-us/rest/api/maps/render?view=rest-maps-2025-01-01) Rest API version of the Azure Maps services. This is done via the `AzureAPIVersion` property of the provider. The lastest version of the Render Rest API is __2024-04-01__ and the AzureMapProvider uses it.


Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
52 changes: 52 additions & 0 deletions controls/map/providers/azure-map/properties-methods-events.md.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
---
title: Properties, Methods and Events
page_title: Properties, Methods and Events - AzureMapProvider
description: Telerik RadMap AzureMapProvider
slug: map-providers-azure-properties
tags: azuremapprovider, methods, properties, events
published: True
position: 1
---

# Properties, Methods and Events

This article provides reference tables with the [Properties](#properties), [Methods](#methods) and [Events](#events) in RadMap - AzureMapProvider.

## Properties

|Property|Description|
|----|----|
|__AzureAPIKey__|Gets or sets the Azure key.|
|__AzureAPIVersion__|Gets or sets the Azure API version.|
|__LanguageCulture__|Gets or sets the language and culture used for Azure Maps requests.|
|__Initializing__|Gets or sets a value indicating whether this __AzureMapProvider__ is currently in the initialization process.|
|__TileSetID__|Gets or sets the imagery set. The possible values are: *DarkGrey*, *HybridDarkGrey*, *HybridRoad*, *LabelsDarkGrey*, *LabelsRoad*, *Road*, *TrafficAbsoluteMain*, *TrafficDelayMain*, *TrafficReducedMain*, *TrafficRelativeDark*, *TrafficRelativeMain*, *WeatherInfraredMain*, *WeatherRadarMain*
|__Initialized__|Gets or sets a value indicating whether this __AzureRestMapProvider__ is initialized.|
|__MaxZoomLevel__|Gets or sets the maximum zoom level.|
|__MinZoomLevel__|Gets or sets the minimum zoom level.|
|__TileSize__|Gets the tile size.|
|__CacheProvider__|Gets or sets the provider used for data caching.|
|__EnableCaching__|Gets or set a value whether the caching is enabled.|
|__TileDownloader__|Gets or sets the tile downloader.|

## Methods

|Method|Description|
|----|----|
|__Initialize__|Initializes this provider.|
|__GetTile__|Gets the tile uri.|
|__GetTileImage__|Gets the tile image.|
|__SearchAsync__|Performs search request asynchronously.|
|__CalculateElevationAsync__|Calculates the elevation asynchronously.|
|__GetSupportedViews__|Gets the supported views.|
|__SetView__|Sets the view in the AzureMapProvider.|

## Events

|Event|Description|
|----|----|
|__InitializationComplete__|Fires when the initialization is completed.|
|__InitializationError__|Fires when an error during the initialization occurs.|
|__ProviderUpdated__|Fires when the provider has been updated, e.g. when a tile is downloaded.|
|__SearchCompleted__|Fires when the search request has completed.|
|__SearchError__|Fires when an error|
Loading