|
POST
|
Ok that narrows it down. Can you try to figure out which add-in is causing the issue and then share the config.daml for that add-in?
... View more
05-06-2021
01:22 PM
|
0
|
1
|
2308
|
|
POST
|
Hi Joe, I tried this using Pro 2.7.3 and I can't duplicate your issue, however, I had a similar issue with Outlook about a month back where I saw a similar 'silhouette' across the top of my outlook window. After I updated my OS and video drivers the problem went away. Here's my startup screen:
... View more
05-06-2021
10:47 AM
|
0
|
0
|
2335
|
|
POST
|
Yes for version 2.5 that is all that's required since release 2.5 of Pro was already running on .Net Framework 4.8 (Home · ArcGIS/arcgis-pro-sdk Wiki (github.com). However, you should build your add-in with version 2.5 of ArcGIS Pro (and Pro SDK) installed on your development machine because newer (minor version) releases of Pro add functionality to the API that are not available in 2.5. So if you build an Add-in targeted for 2.5 on a 2.8 development environment (with Pro 2.8 installed) you could potentially use a method or property that is only available in 2.8 and not in 2.5. So your add-in would work fine on your development machine, but on your 2.5 machine you would experience the 'gray' buttons effect (which implies an exception was thrown on initialization).
... View more
04-28-2021
08:37 AM
|
1
|
1
|
4273
|
|
POST
|
This Pro Concept delves into compatibility: ProConcepts Advanced Topics · ArcGIS/arcgis-pro-sdk Wiki (github.com). The paragraph that concerns your issue is this one: Add-ins and configurations are forwards compatible across all minor versions of ArcGIS Pro. Add-ins and configurations are not forward compatible across major versions (eg 2.x, 3.x, etc). Add-ins and configurations are not backwards compatible across any versions of ArcGIS Pro.
... View more
04-28-2021
06:58 AM
|
1
|
1
|
4285
|
|
POST
|
You can disable the automatic adding of the feature class to the current map by changing the GPExecuteToolFlags.AddOutputsToMap option (which is the default) to GPExecuteToolFlags.None, as shown in the snippet below. IGPResult result = await Geoprocessing.ExecuteToolAsync("CreateFeatureclass_management",
Geoprocessing.MakeValueArray(arguments.ToArray()), null, null, null, GPExecuteToolFlags.None); After this is done, you can add the layer yourself, as shown in my Button 'OnClick' sample below: protected override async void OnClick()
{
await CreateFeatureClass("TTT", EnumFeatureClassType.POINT);
}
public enum EnumFeatureClassType
{
POINT,
MULTIPOINT,
POLYLINE,
POLYGON
}
/// <summary>
/// Create a feature class in the default geodatabase of the project.
/// </summary>
/// <param name="featureclassName">Name of the feature class to be created.</param>
/// <param name="featureclassType">Type of feature class to be created. Options are:
/// <list type="bullet">
/// <item>POINT</item>
/// <item>MULTIPOINT</item>
/// <item>POLYLINE</item>
/// <item>POLYGON</item></list></param>
/// <returns></returns>
public static async Task CreateFeatureClass(string featureclassName,
EnumFeatureClassType featureclassType)
{
List<object> arguments = new List<object>
{
// store the results in the default geodatabase
CoreModule.CurrentProject.DefaultGeodatabasePath,
// name of the feature class
featureclassName,
// type of geometry
featureclassType.ToString(),
// no template
"",
// no z values
"DISABLED",
// no m values
"DISABLED"
};
await QueuedTask.Run(() =>
{
// spatial reference
arguments.Add(SpatialReferenceBuilder.CreateSpatialReference(3857));
});
IGPResult result = await Geoprocessing.ExecuteToolAsync("CreateFeatureclass_management",
Geoprocessing.MakeValueArray(arguments.ToArray()), null, null, null, GPExecuteToolFlags.None);
var uri = new Uri(result.ReturnValue);
var lyr = await QueuedTask.Run<FeatureLayer>(() =>
{
var newLayer = LayerFactory.Instance.CreateFeatureLayer(uri,
MapView.Active.Map, LayerPosition.AddToTop, $@"Lyr-{featureclassName}") as FeatureLayer;
return newLayer;
});
MessageBox.Show($@"Newly added: {lyr.Name}");
} You can also use the result.ReturnValue GDB path to find the automatically added layer by comparing all feature layer datasources for the current map.
... View more
04-23-2021
12:10 PM
|
0
|
4
|
3835
|
|
POST
|
You have to change the name of the Layout. I used this snippet below in a button to change the Layout name, which in turn is then used as the default file name. Just make sure that you don't use invalid file name characters (like ':'). protected override async void OnClick()
{
Map map = null;
await QueuedTask.Run(() =>
{
var layoutItem = Project.Current.GetItems<LayoutProjectItem>().FirstOrDefault(i => i.Name.Equals ("layout", StringComparison.OrdinalIgnoreCase));
if (layoutItem != null)
{
var layout = layoutItem.GetLayout();
var defLayout = layout.GetDefinition();
var now = DateTime.Now.TimeOfDay;
defLayout.Name = $@"msecs - {now.TotalMilliseconds}";
layout.SetDefinition(defLayout);
}
});
}
... View more
04-23-2021
10:14 AM
|
0
|
0
|
2508
|
|
POST
|
Please note that this registry kay will be deprecated for Pro 3.x. See more here: ArcGIS Pro Registry Keys · ArcGIS/arcgis-pro-sdk Wiki (github.com) I try to get more information from the Pro Dev team in regards to this feature since other developers have asked for similar capabilities before. In order to get this implemented (as a workaround), I can only think of installing an add-in on all Pro machines that will download and/or update the latest releases of add-ins or configurations from your website to your local well-known locations. You can publish an .esriaddinx file on Portal from where your users can install a 'management' add-in. This 'management' add-in would then be running on all clients (by not using JIT - the autoload attribute in your insertModule tag) to check your URLs for updated configurations or add-ins and download them into a well-known local folder. I will let you know after I hear back from the Pro dev team if there are better solutions coming up.
... View more
04-23-2021
08:46 AM
|
0
|
3
|
1946
|
|
POST
|
@GKmieliauskas is correct ProgressDialog does not show up in Debug mode. I tried your snippet in 2.7 and it worked, however, the 'await Task.Delay(1000)' didn't delay for me by 1 second as I expected. Instead I used System.Threading.Thread.Sleep(1000), which did the job.
... View more
04-23-2021
07:56 AM
|
0
|
0
|
2846
|
|
POST
|
Usually you would not initialize a ProWindow before the class is instantiated, which happens when the ProWindow needs to open. I would recommend to move any initialization code into the Module class and make it accessible through an internal (or public) property in the Module class as in this example: Framework - ProWindowMVVM Community Sample
... View more
04-21-2021
12:07 PM
|
0
|
0
|
2746
|
|
POST
|
This community sample shows how to do this: arcgis-pro-sdk-community-samples/Map-Exploration/TableControlsDockpane at master · Esri/arcgis-pro-sdk-community-samples (github.com) In the xaml you can specify the CommandParameter: <Button Command="{Binding DataContext.TableCloseCommand, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}"
CommandParameter="{Binding TableName}" > TableName in this example is of the type string. In the code behind you can use the CommandParameter by simple adding 'param' to your RelayCommand as shown here: public ICommand TableCloseCommand { get; set; }
public AttributeTableViewModel()
{
TableCloseCommand = new RelayCommand((param) => OnCloseTab(param), () => true);
}
private void OnCloseTab(object param)
{
// cast the [object] param to the correct type [string]
string tableName = param.ToString();
// use your TableName CommandParameter for processing
}
... View more
04-13-2021
08:29 AM
|
0
|
1
|
8804
|
|
POST
|
Hi Marvis, I talked to the developers and we don't currently have the capability to freeze fields programmatically in the TableControls (Pro out-of-box and the API TableControl) nor are there any workarounds. The developers will add this feature as an enhancement after the 2.8 release.
... View more
03-26-2021
10:54 AM
|
1
|
5
|
3363
|
|
POST
|
I tried this using Pro version 2.5 and as you noted above it is a problem. In 2.5 I can only add a button to an existing group (see below), but i can't add a group to a tab. <updateModule refID="esri_core_module">
<groups>
<updateGroup refID="esri_core_projectData" >
<insertButton refID="ProAppModule6_Button1" size="large" />
</updateGroup>
</groups>
</updateModule> It seems like the problem has been resolved in later releases.
... View more
03-18-2021
02:53 PM
|
1
|
1
|
6559
|
|
POST
|
There is a sample that is using a ListBox with a GroupStyle maybe that can give you some insight. This sample displays the scrollbars when needed: the sample is here: arcgis-pro-sdk-community-samples/Map-Authoring/GeocodingTools at master · Esri/arcgis-pro-sdk-community-samples (github.com)
... View more
03-17-2021
11:29 AM
|
1
|
1
|
1400
|
|
POST
|
As best practice the SDK team usually recommends to add common code to the Module class and then call the common code from buttons, tools etc. as shown in this example: https://github.com/Esri/arcgis-pro-sdk-community-samples/blob/19a330dcbe57cdbbde7f0762e9321aa7b411c827/Map-Exploration/OverlayGroundSurface/MakeManyPolygons.cs#L52-52 The GetPlugInWrapper method shown in the reply above only gives you access to the ICommand interface but doesn't give you access to the underlying classes. You also have to consider the just-in-time (JIT) strategy that is used for all controls in ArcGIS Pro: By default, controls appear enabled, but are not actually instantiated until they are clicked. This just-in-time (JIT) strategy improves resource utilization and startup time by deferring the instantiation of controls until they are initiated by the end user, however, this can be a problem if you try to share common code that is part of an instance of class (for example a Button or MapTool class). We recommend the Module class singleton for these common code patterns. You can add them either as 'static' methods (or properties) or add them to the Module class instance. The Module class instance provides an accessor out-of-box with this property: public static Module1 Current. You can then use Module1.Current to get to the instance.
... View more
03-17-2021
11:01 AM
|
0
|
0
|
2673
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 10-29-2025 10:48 AM | |
| 1 | 05-24-2021 09:04 AM | |
| 1 | 12-03-2020 08:44 AM | |
| 1 | 10-07-2025 07:27 AM | |
| 2 | 12-29-2025 10:03 AM |
| Online Status |
Offline
|
| Date Last Visited |
05-21-2026
01:59 PM
|