|
POST
|
As Uma stated >>The Pro UI is written using WPF<< and the SDK templates automate the generation of most of the possible UI elements that are supported in Pro (buttons, tools, panes, dockpanes, property pages, property sheets, custom controls, and so on). However, you can write any of the UI elements by hand - you would just be responsible for deriving from the correct base classes, adding the requisite overloads and so forth, and adding the necessary Config.daml entries. This can be a tedious business to repeat each time you need to add, say a button or a dockpane. That is where the SDK templates come in - to help automate a lot of these repetitive tasks. However, you don't _have_ to use them. You can do it all by hand as you need (for example - copy/pasting or moving existing classes from one add-in project to another). Also, within WPF, the underlying technology used by the Pro UI, you can host a Winforms control within a WPF user control or window - though this is not a common pattern and is usually done for legacy reasons (eg an old WinForms control provides a specific set of functionality not easily duplicated in WPF or the level of effort is too great to rewrite it). You can read the Microsoft documentation on WindowsFormHost for more information if you are interested.
... View more
03-25-2020
10:16 PM
|
0
|
1
|
3371
|
|
POST
|
Ideally, you want the defaultAssembly and defaultNamespace attributes to _match_ the corresponding properties in your visual studio project (i.e. Application properties tab, Assembly name, Default namespace). If you change the name of your assembly or default namespace in Visual Studio then be sure to update your Config.daml to keep it in sync. Additionally, depending on how you have your project arranged and which project folders you organize your content into, you may also need to change the className attribute on your various DAML entries if you rename classes or move them around. If a given control or dockpane or whatever is _not_ in the default namespace then you must always fully qualify the className attribute. The SDK templates do this for you automatically when they first generate a given DAML entry but if you refactor your add-in content then it is your responsibility to keep your Config.daml up to date. In your example, say you were to refactor your Module cs file to a different namespace (or rename it or....) then you would need to go into the Config.daml and change the "<module className" attribute to match - fully qualifying the className if your "refactored" ModuleMain were to no longer be in the MyCompany.MyDepartment.MyAddin namespace (i.e. your current default).
... View more
03-23-2020
02:08 PM
|
0
|
1
|
3216
|
|
POST
|
This section of the Pro Concepts Framework may help: ProConcepts-Framework#module-plug-in. This is basically what Than is describing. Some debugging tips are here: ProGuide-Diagnosing-ArcGIS-Pro-Add-ins
... View more
03-23-2020
09:16 AM
|
2
|
0
|
3216
|
|
POST
|
I think we have two separate things going on here and please confirm: 1) You originally were asking can you specify a clipping polygon for the map via the API, is that right? The answer is no. You cannot and this will be added for 2.6 2) You are using EditOperation.Clip to "manually" clip features and you have encountered a bug, is that right? So no, my statement regarding 1) , map clipping, is not related. To submit a bug please contact tech support. This post may help: How to report a bug in ArcGIS Pro Note: just looking at your code above, I believe the result you are looking for requires ClipMode.PreserveArea not DiscardArea.
... View more
03-11-2020
10:36 AM
|
0
|
1
|
4422
|
|
POST
|
In general, calling a modal dialog from the queued task should be avoided. protected override void OnClick()
{
//construct on the UI
var dlg = new SaveItemDialog();
dlg.Title = "On QueuedTask";
QueuedTask.Run(() =>
{
FrameworkApplication.Current.Dispatcher.Invoke(() => {
var result = dlg.ShowDialog();
});
});
}
....
... View more
03-06-2020
02:47 PM
|
0
|
1
|
1104
|
|
POST
|
Overlays are not persisted which is why you cannot print (or export) them. At 2.6 there will be the concept of a graphics layer. Graphics you add to a graphics layer will be persistable (and so can be printed).
... View more
03-03-2020
02:02 PM
|
2
|
0
|
1071
|
|
POST
|
Jamal, yes, I investigated this and setting clipping on the map is not currently possible via the API. I have passed on the requirement to the mapping team. It will be targeted for release at 2.6
... View more
03-03-2020
09:43 AM
|
0
|
5
|
4422
|
|
POST
|
This Pro Guide might help: ProGuide-Custom-settings Note that OnReadSettingsAsync is called only if you _have_ settings in a given aprx (and the module is already loaded). It is called when the project is opened. OnWriteSettingsAsync will be called on project save.
... View more
02-28-2020
10:52 AM
|
0
|
1
|
3193
|
|
POST
|
GeometryEngine.Instance.Union should do the same thing: topic8291.html
... View more
02-26-2020
10:33 AM
|
0
|
1
|
2144
|
|
POST
|
Hi Simon, as I mentioned earlier, the active portal remains the active portal even if you programmatically connect to a different portal and there is only one portal active at any given time. You could try to search and retrieve item content via portal methods from your non-active portal...and then use MapFactory.CreateMapFromItem or LayerFactory.CreateItem overloads that consume Item (depending on what the content is).
... View more
02-17-2020
11:33 AM
|
0
|
4
|
3408
|
|
POST
|
No. The active portal will remain the active portal
... View more
02-13-2020
09:43 AM
|
0
|
6
|
3408
|
|
POST
|
var plugin = FrameworkApplication.GetPlugInWrapper("esri_editing_SaveEditsBtn");
plugin.Caption = "Save Edits";
... View more
02-12-2020
02:00 PM
|
1
|
1
|
2190
|
|
POST
|
Assuming you have a portal instance (eg via GetPortal from the ArcGISPortalManager), you could use its SignInAsync method to sign in. This will prompt for credentials with the sign-in window unless they have been previously cached (eg, via a preceding connection). If you need a token for REST requests then call GetToken to get the token.
... View more
02-12-2020
01:13 PM
|
0
|
8
|
3408
|
|
BLOG
|
With the release of ArcGIS Pro 2.5, SDK developers will now be using .NET 4.8 as the minimum target framework. For customers running previously deployed add-ins at 2.0 through 2.4, no recompilation is necessary. Pro is forwards compatible with regards to add-ins and the upgrade of .NET Framework does not change that. However, if you recompile an add-in written on a previous version at 2.5 (or better) you will get compiler errors - even if you have not made any changes. The assembly references for ArcGIS Pro may also show as being broken even though the paths point to the correct location or you have run the utility "Pro Fix References": To recompile an add-in, previously created at version 2.0 – 2.4, using 2.5 (or better) you must change the Target framework in the Application properties to 4.8. You should also change the desktopVersion attribute of the Config.daml to 2.5 (to reiterate, add-ins are _forwards_ compatible not _backwards_ compatible) Complete instructions can be found here: How To: Convert a version 2.0 to 2.4 ArcGIS Pro SDK add-in solution to Pro 2.5 and later versions
... View more
02-06-2020
04:17 PM
|
3
|
0
|
1734
|
|
POST
|
At 2.5, a new Invalidate method has been added to the MapView. The first call would invalidate the entire layer. Pass in an extent to limit invalidation to just a particular area. The second call will invalidate the extent of the features whose oids are in the lists for the two layers. Invalidate(Layer,Envelope)
Invalidate(IReadOnlyDictionary<Layer,List<long>>)
MapView.Active.Invalidate(someLayer, null);
var dict = ...
dict[layer1] = new List<long> { 20,21,31, ...};
dict[layer2] = new List<long> { 20,21,31, ...};
MapView.Active.Invalidate(dict);
... View more
01-29-2020
09:43 AM
|
0
|
0
|
3795
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 05-19-2026 10:29 AM | |
| 1 | 04-29-2026 02:06 PM | |
| 1 | 01-08-2026 02:03 PM | |
| 1 | 01-08-2026 02:15 PM | |
| 3 | 12-17-2025 11:33 AM |
| Online Status |
Offline
|
| Date Last Visited |
4 weeks ago
|