|
POST
|
Hi, That's an interesting idea, but not the way packages were designed to work - it's a one-way distribution model. Therefore, in order to pick up the edited geodatabase and push it back again you have two options: 1. Set the ArcGISRuntime.AppDataPath to the location you would like on the deployment machine - and then retrieve the unpacked/edited geodatabase from the unpack location. 2. Package with reference to your geodatabase then deploy that along with your application. This is the recommended approach. Note that we are currently implementing a richer editing framework which includes synchronization with feature services (or Desktop via checkout/checkin) - that will be available in the new ArcGIS Runtime SDK for .NET which will be available as a public beta later this year. Cheers Mike
... View more
10-10-2013
12:44 AM
|
0
|
0
|
1293
|
|
POST
|
Hi, The features you created will be in the package unpack location e.g. C:\Users\MyUser\AppData\Local\ArcGISRuntime\Documents\ArcGIS\Packages\packagemap. You can control the unpack location be setting the ArcGISRuntime.AppDataPath property. Alternatively, when packaging you can choose to reference your File Gdb (or enterprise Gdb) from the MPK rather than import the data into the MPK. This workflow only supports absolute paths, not relative paths. Cheers Mike
... View more
10-09-2013
12:39 AM
|
0
|
0
|
1293
|
|
POST
|
Hi, Unfortunately it's not currently possible to edit shapefiles that have been added via dynamic layers. Although it's an implementation detail, the reason is that the FeatureServer endpoint does not support the DynamicLayer capability. We are working on improved local data support which will also include synchronization with feature services but this functionality will be released as part of the new ArcGIS Runtime SDK for .NET, which includes a WPF API for building desktop applications (i.e. an evolution of the WPF API you're working with now). It will be available in beta shortly. In the mean time, if you really just want to edit shapefiles then you could try one of the various 3rd party shapefile libraries (it's an open, published format). Cheers Mike
... View more
09-30-2013
11:31 PM
|
0
|
0
|
568
|
|
POST
|
Hi, Good questions - sorry it wasn't clear in the doc. The summary is yes, it can work completely offline. 1. Is that all I need? Is there a licence file that needs to be deployed with the application (either manually or auto-created with the Deployment Builder tool)? Correct - you just set the license string in code, in your application. There is no additional license file that needs to be deployed. 2. Does my application then 'call home' to Esri to validate that licence key? In other words, how do Esri ensure that having purchased 25 deployment licences I do not deploy 26 installations of my application? There is no online validation in deployment, it's a trust-based licensing model. We wanted to make it as easy as possible for you to deploy apps in your scenario. However, that does mean it is your responsibility to ensure that you do not deploy the 26th app without purchasing additional licenses to cover those extra deployments. When you do purchase additional licenses, you do not need to make any changes to your app, you can just keep deploying up to the number you purchased. Cheers Mike
... View more
09-27-2013
01:44 AM
|
0
|
0
|
940
|
|
POST
|
Hi Mike, I am working on similiar application adding shapefile dynamically to map. But I am also trying to query this shapefile to access its geometry and attributes. I am sure it should be possible through - dynamicalayerinfo or dynamiclayerinfocollection. Can suggest me a method to achieve this? Thanks! Hi, Yes this is possible - you still use a QueryTask as you would with other service layer types, but make sure you set the Source property on the QueryTask so that it recognises the changes you have made to the service and uses your new service definition. Cheers Mike
... View more
09-26-2013
12:20 AM
|
0
|
0
|
792
|
|
POST
|
Hi, As far as I'm aware, no, because they're intended to be used as PictureMarkerSymbols via http. However, I've attached a 7-zipped text file containing a C# array of all the URL strings which you could use as-is or iterate to download the images. Cheers Mike
... View more
09-25-2013
01:25 AM
|
0
|
0
|
3048
|
|
POST
|
Hi, Unfortunately I can't go into greater detail at this time on the improved local data access for 10.2.1 - but you should note that what we do introduce will be in the new .NET SDK mentioned in the previous post rather than in the existing WPF SDK. The new .NET SDK will be out in beta in Q4. Cheers Mike
... View more
09-18-2013
08:34 AM
|
0
|
0
|
1303
|
|
POST
|
Hi, Although you probably could derive from FeatureLayer, your existing approach is fine - once you've created a GraphicsLayer you can query the Graphics attributes using Lync. There's no "visible" property as such but you could either remove them from the Graphics collection of the GraphicsLayer, or clear the symbol on that specific Graphic or change your renderer such that specific Graphics are not visible. A FeatureLayer in the current API is something that's sourced from a FeatureService (local or online) which provides schema, geometries, attributes, rendering information, prototype/template features for editing, etc. In the future we hope to extend the feature layer concept to include additional local datasources, although this would be done within the new .NET SDK (http://blogs.esri.com/esri/arcgis/2013/07/05/the-history-and-future-of-the-arcgis-sdks-for-net/). There are a few things to remember - if you're populating a GraphicsLayer you should ideally use the GraphicsSource property, or at least AddRange, as the most efficient way of getting the Graphics into the layer. Also, assigning a Renderer to the entire layer is more efficient than assigning individual Symbols. By default, if you assign a symbol to Graphic which already has a renderer, the symbol will override the renderer. Lastly, if you're updating the coordinates of the point objects - it's more efficient to use the MoveTo method rather than directly modifying the coordinates. Cheers Mike
... View more
09-17-2013
01:46 AM
|
0
|
0
|
1303
|
|
POST
|
Hi, I think you just need to change the part where you set the TimeExtent of the Map - to bind to the Value of the TimeSlider e.g.:
<esri:Map x:Name="MyMap" UseAcceleratedDisplay="True" TimeExtent="{Binding ElementName=MyTimeSlider, Path=Value}" WrapAround="True">
<esri:ArcGISTiledMapServiceLayer ID="BaseLayer" Url="http://services.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer" />
<esri:FeatureLayer ID="EarthquakesLayer" Initialized="FeatureLayer_Initialized" Url="http://sampleserver3.arcgisonline.com/ArcGIS/rest/services/Earthquakes/Since_1970/MapServer/0" OutFields="*">
</esri:FeatureLayer>
</esri:Map>
...
<esri:TimeSlider x:Name="MyTimeSlider" Height="20" TimeMode="TimeExtent"
MinimumValue="{Binding ElementName=MyMap, Path=Layers[EarthquakesLayer].TimeExtent.Start, Mode=OneWay}"
MaximumValue="{Binding ElementName=MyMap, Path=Layers[EarthquakesLayer].TimeExtent.End, Mode=OneWay}"
Value="{Binding ElementName=MyMap, Path=Layers[EarthquakesLayer].TimeExtent, Mode=OneWay}" >
</esri:TimeSlider>
Cheers Mike
... View more
09-16-2013
12:28 AM
|
0
|
0
|
683
|
|
POST
|
Hi, You raise a good point. Unfortunately there isn't an API method to simply clear the Messages from a MessageLayer, without processing a Remove action for each message you want to remove. However, if you always want to get rid of all of them then you could try removing the layer from the Map, and instantiating a new layer? I've taken note of your suggestion for a future release. Cheers Mike
... View more
09-12-2013
02:48 AM
|
0
|
0
|
1013
|
|
POST
|
Hi, You'll also need to handle the UpdateCompleted event to know that the feature layer actually contains data. See this thread for more information: http://forums.arcgis.com/threads/43853-How-to-edit-a-table-from-local-map-package. Cheers Mike
... View more
09-11-2013
12:51 AM
|
0
|
0
|
671
|
|
POST
|
Hi, - May I distribute my software that uses ArcGIS API for WPF? Yes, you may distribute the ArcGIS API for WPF assemblies along with your software but it must be as part of a compiled application, as an end product. - May I publish my software's sources (to GitHub, for example) and include dll-s from ArcGIS API for WPF (and include your license as txt file)? May I include API setup files? You are welcome to post your source code on GitHub but this must not include the dlls from the ArcGIS API for WPF - in order to access these, other developers must download and install the ArcGIS API for WPF. - May I distribute my software via NuGet and put dll-s from ArcGIS API for WPF inside the package? We currently do not distribute the ArcGIS API for WPF via NuGet and therefore any users of your package would need to install the ArcGIS API for WPF to support their development - i.e currently the same scenario as for GitHub. As I mentioned in your previous post - we are actively investigating ways in which we can make access to our APIs/SDKs more convenient and flexible - including hosting them on NuGet as packages. Cheers Mike
... View more
09-04-2013
12:56 AM
|
0
|
0
|
912
|
|
POST
|
Hi, That's a great suggestion, and something that we've been talking a lot about here on the team. There are a couple of reasons why the existing ArcGIS Runtime SDK for WPF 10.1.1 isn't suitable for distribution via NuGet (e.g. licensing and format/size of the SDK). However we're investigating more flexible ways of distributing the APIs included within the new ArcGIS Runtime SDK for .NET (Desktop / Store / Phone), with NuGet being one of the options we're looking at. Additionally there are changes afoot to the developer licensing for ArcGIS (see https://developers.arcgis.com/en/plans/ for more details). Cheers Mike
... View more
09-02-2013
12:08 AM
|
0
|
0
|
894
|
|
POST
|
... in the meantime there are a couple of workarounds: #1. Lock the layer yourself while performing the layer removal:
private void RemoveAcceleratedLayer(ESRI.ArcGIS.Client.Layer layer)
{
ESRI.ArcGIS.Client.GroupLayerBase container = Container(layer);
if (container != null)
RemoveAcceleratedLayer(layer, container);
else
MyMap.Layers.Remove(layer);
}
void RemoveAcceleratedLayer(ESRI.ArcGIS.Client.Layer layer, ESRI.ArcGIS.Client.GroupLayerBase gl)
{
System.Type Tds = layer.GetType().Assembly.GetType("ESRI.ArcGIS.Client.DrawingSurface");
var field = Tds.GetField("NativeLayerProperty", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.Public);
var dependencyProperty = (DependencyProperty)field.GetValue(null);
var nativelayer = layer.GetValue(dependencyProperty);
var lockprop = nativelayer.GetType().GetProperty("Lock", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance);
var lockobj = lockprop.GetValue(nativelayer, null);
using (lockobj as System.IDisposable)
gl.ChildLayers.Remove(layer);
}
ESRI.ArcGIS.Client.GroupLayerBase Container(ESRI.ArcGIS.Client.Layer layer)
{
return AllLayers(MyMap.Layers).OfType<ESRI.ArcGIS.Client.GroupLayerBase>().FirstOrDefault(gl => gl.ChildLayers.Contains(layer));
}
System.Collections.Generic.IEnumerable<ESRI.ArcGIS.Client.Layer> AllLayers(System.Collections.Generic.IEnumerable<ESRI.ArcGIS.Client.Layer> layers)
{
return layers.Concat(layers.OfType<ESRI.ArcGIS.Client.GroupLayerBase>().SelectMany(glb => AllLayers(glb.ChildLayers)));
}
#2. Register an unhandled exception handler, check the exception then flag it as handled. Implement the handler and check:
private void HandleUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
if ( e.Exception is TargetInvocationException &&
e.Exception.InnerException is NullReferenceException &&
e.Exception.InnerException.StackTrace.Contains("DrawingSurface"))
e.Handled = true;
}
Register the handler (e.g. in the window constructor):
Application.Current.DispatcherUnhandledException += HandleUnhandledException;
Let me know if you have any trouble with these workarounds. Cheers Mike
... View more
08-21-2013
01:03 AM
|
0
|
0
|
1210
|
|
POST
|
Hi, Sorry about that - it's a known bug and has been addressed for the 10.2 release. Cheers Mike
... View more
08-21-2013
12:30 AM
|
0
|
0
|
1210
|
| Title | Kudos | Posted |
|---|---|---|
| 1 | 04-14-2026 05:04 AM | |
| 1 | 02-20-2024 07:02 AM | |
| 1 | 01-19-2026 06:44 AM | |
| 1 | 12-10-2025 07:16 AM | |
| 1 | 11-21-2025 08:12 AM |
| Online Status |
Offline
|
| Date Last Visited |
07-02-2026
06:07 AM
|