<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: how to access esri from excel in ArcGIS API for Silverlight Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403439#M10439</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Do you have any other ideas after all of these solutions failed?&amp;nbsp; You can tell me the big picture like where I should invoke the map container dispatcher or you can give me an example that worked on excel.&lt;BR /&gt;Thanks!&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We found that the Graphic instances created by Arcgis after QueryTask was completed in another thread.&amp;nbsp; Temporarily, we have to create a new Graphic for each Graphic returned and pass in only info that we need.&amp;nbsp; This resolved the problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't have to call dispatcher from mainwindow with this solution.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 02 Mar 2011 14:11:35 GMT</pubDate>
    <dc:creator>ThaoNguyen</dc:creator>
    <dc:date>2011-03-02T14:11:35Z</dc:date>
    <item>
      <title>how to access esri from excel</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403432#M10432</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I created a map using C# and esri wpf.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We have an Excel add-in application that can open my map code.&amp;nbsp; After my queryTask execute completed method is called, I invoked a method to add graphics to map.&amp;nbsp; I got the following error when adding graphics to graphic layer: graphicMapLayer.Graphics.Add(graphic);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;System.InvalidOperationException: The calling thread cannot access this object because a different thread owns it.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Threading.Dispatcher.VerifyAccess()&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I found a solution by calling Dispatcher.Invoke &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;e.g. this.Dispatcher.Invoke( new AddGraphicDelegate(AddGraphic), graphic);&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;private void AddGraphic(Graphic g)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; graphicMapLayer.Graphics.Add(g);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;However, after I got the above problem fixed, I got another thread exception for another arcgis method as following:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;at System.Windows.Threading.Dispatcher.VerifyAccess()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; at System.Windows.DependencyObject.GetValue(DependencyProperty dp)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.Graphic.get_Visibility()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.GraphicsLayer.RenderGraphics(Double resolution, MapPoint canvasOrigin, Envelope env, Envelope bufferedExtent, IEnumerable`1 gfxs, Boolean isClustering, IRenderer renderer, Boolean interactive)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.GraphicsLayer.Draw(Envelope extent, Double resolution, MapPoint canvasOrigin, Boolean useTransitions)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.Map.loadLayerInView(Boolean useTransitions, Envelope drawExtent, Layer layer)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.Map.loadLayersInView(Boolean useTransitions, Envelope drawExtent)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.Map.panTo(Geometry geometry, Boolean skipAnimation)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.Map.zoomTo(Geometry geom, Boolean skipAnimation)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.Map.set_Extent(Envelope value)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Please help!&amp;nbsp; I don't know where is the right place to call Invoke() in this case that handles all arcgis calls.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 22 Feb 2011 14:23:56 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403432#M10432</guid>
      <dc:creator>ThaoNguyen</dc:creator>
      <dc:date>2011-02-22T14:23:56Z</dc:date>
    </item>
    <item>
      <title>Re: how to access esri from excel</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403433#M10433</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I created a map using C# and esri wpf.&lt;BR /&gt;We have an Excel add-in application that can open my map code.&amp;nbsp; After my queryTask execute completed method is called, I invoked a method to add graphics to map.&amp;nbsp; I got the following error when adding graphics to graphic layer: graphicMapLayer.Graphics.Add(graphic);&lt;BR /&gt;&lt;BR /&gt;System.InvalidOperationException: The calling thread cannot access this object because a different thread owns it.&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.Threading.Dispatcher.VerifyAccess()&lt;BR /&gt;&lt;BR /&gt;I found a solution by calling Dispatcher.Invoke &lt;BR /&gt;e.g. this.Dispatcher.Invoke( new AddGraphicDelegate(AddGraphic), graphic);&lt;BR /&gt;&lt;BR /&gt;private void AddGraphic(Graphic g)&lt;BR /&gt; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; graphicMapLayer.Graphics.Add(g);&lt;BR /&gt; }&lt;BR /&gt;&lt;BR /&gt;However, after I got the above problem fixed, I got another thread exception for another arcgis method as following:&lt;BR /&gt;&lt;BR /&gt;at System.Windows.Threading.Dispatcher.VerifyAccess()&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at System.Windows.DependencyObject.GetValue(DependencyProperty dp)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.Graphic.get_Visibility()&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.GraphicsLayer.RenderGraphics(Double resolution, MapPoint canvasOrigin, Envelope env, Envelope bufferedExtent, IEnumerable`1 gfxs, Boolean isClustering, IRenderer renderer, Boolean interactive)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.GraphicsLayer.Draw(Envelope extent, Double resolution, MapPoint canvasOrigin, Boolean useTransitions)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.Map.loadLayerInView(Boolean useTransitions, Envelope drawExtent, Layer layer)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.Map.loadLayersInView(Boolean useTransitions, Envelope drawExtent)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.Map.panTo(Geometry geometry, Boolean skipAnimation)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.Map.zoomTo(Geometry geom, Boolean skipAnimation)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; at ESRI.ArcGIS.Client.Map.set_Extent(Envelope value)&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Please help!&amp;nbsp; I don't know where is the right place to call Invoke() in this case that handles all arcgis calls.&lt;BR /&gt;&lt;BR /&gt;Thanks!&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Please help me as soon as possible because it is urgent for us :(.&amp;nbsp; The map cannot be displayed and we cannot test it.&amp;nbsp; Escalate the problem if you don't know an answer for this.&amp;nbsp; I really appreciate your concern and understanding.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Feb 2011 13:48:28 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403433#M10433</guid>
      <dc:creator>ThaoNguyen</dc:creator>
      <dc:date>2011-02-23T13:48:28Z</dc:date>
    </item>
    <item>
      <title>Re: how to access esri from excel</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403434#M10434</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I checked with Morten and he explained that you are using the wrong Dispatcher. You will need to get to the root visual, and use its Dispatcher. You can try using Application.Current.MainWindow.Dispatcher.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Feb 2011 16:04:18 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403434#M10434</guid>
      <dc:creator>JenniferNery</dc:creator>
      <dc:date>2011-02-23T16:04:18Z</dc:date>
    </item>
    <item>
      <title>Re: how to access esri from excel</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403435#M10435</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;I checked with Morten and he explained that you are using the wrong Dispatcher. You will need to get to the root visual, and use its Dispatcher. You can try using Application.Current.MainWindow.Dispatcher.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried this and the line Application.Current.MainWindow... threw the same exception.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Let me rewrite my original code structure&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;private void QueryTask_ExecuteCompleted(object sender, QueryEventArgs args)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //do some work here that's not related to the question&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Update();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;private delegate void NullDelegate();&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;private void Update()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (this.Dispatcher.Thread != System.Threading.Thread.CurrentThread)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; this.Dispatcher.Invoke(new NullDelegate(Update), null);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //some work here&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }catch (Exception e) { //do something here }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;With your suggestion, I did the following:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;private void Update()&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (Application.Current.MainWindow.Dispatcher.Thread != System.Threading.Thread.CurrentThread)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application.Current.MainWindow.Dispatcher.Invoke(new NullDelegate(Update), null);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //some work here&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }catch (Exception e) { //do something here }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The if line already threw an exception.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Feb 2011 16:35:02 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403435#M10435</guid>
      <dc:creator>ThaoNguyen</dc:creator>
      <dc:date>2011-02-23T16:35:02Z</dc:date>
    </item>
    <item>
      <title>Re: how to access esri from excel</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403436#M10436</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Does it hit this line?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;&lt;BR /&gt;Application.Current.MainWindow.Dispatcher.Invoke(new NullDelegate(Update), null);&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I think the best way to find the parent of your Map control is to use VisualTreeHelper. If you do this in while loop until GetParent() returns null, you will have the Visual root and use its Dispatcher. &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Something like this if Map is not a descendant of your Application.Current.MainWindow:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
DependencyObject dependencyObject = VisualTreeHelper.GetParent(element);
if (dependencyObject == null)
 return element;
while (VisualTreeHelper.GetParent(dependencyObject) != null)&amp;nbsp;&amp;nbsp; 
 dependencyObject = VisualTreeHelper.GetParent(dependencyObject);
rootVisual = dependencyObject as Visual;
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You will be able to then use rootVisual.Dispatcher.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:23:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403436#M10436</guid>
      <dc:creator>JenniferNery</dc:creator>
      <dc:date>2021-12-11T18:23:35Z</dc:date>
    </item>
    <item>
      <title>Re: how to access esri from excel</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403437#M10437</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Does it hit this line?&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;I think the best way to find the parent of your Map control is to use VisualTreeHelper. If you do this in while loop until GetParent() returns null, you will have the Visual root and use its Dispatcher. &lt;BR /&gt;Something like this if Map is not a descendant of your Application.Current.MainWindow:&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt;
DependencyObject dependencyObject = VisualTreeHelper.GetParent(element);
if (dependencyObject == null)
 return element;
while (VisualTreeHelper.GetParent(dependencyObject) != null)&amp;nbsp;&amp;nbsp; 
 dependencyObject = VisualTreeHelper.GetParent(dependencyObject);
rootVisual = dependencyObject as Visual;
&lt;/PRE&gt;&lt;BR /&gt;&lt;BR /&gt;You will be able to then use rootVisual.Dispatcher.&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Tried that, got same exception when doing VisualTreeHelper.GetParent(element).&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 18:23:38 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403437#M10437</guid>
      <dc:creator>ThaoNguyen</dc:creator>
      <dc:date>2021-12-11T18:23:38Z</dc:date>
    </item>
    <item>
      <title>Re: how to access esri from excel</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403438#M10438</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Tried that, got same exception when doing VisualTreeHelper.GetParent(element).&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Do you have any other ideas after all of these solutions failed?&amp;nbsp; You can tell me the big picture like where I should invoke the map container dispatcher or you can give me an example that worked on excel.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks!&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Feb 2011 15:21:50 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403438#M10438</guid>
      <dc:creator>ThaoNguyen</dc:creator>
      <dc:date>2011-02-25T15:21:50Z</dc:date>
    </item>
    <item>
      <title>Re: how to access esri from excel</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403439#M10439</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;Do you have any other ideas after all of these solutions failed?&amp;nbsp; You can tell me the big picture like where I should invoke the map container dispatcher or you can give me an example that worked on excel.&lt;BR /&gt;Thanks!&lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We found that the Graphic instances created by Arcgis after QueryTask was completed in another thread.&amp;nbsp; Temporarily, we have to create a new Graphic for each Graphic returned and pass in only info that we need.&amp;nbsp; This resolved the problem.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't have to call dispatcher from mainwindow with this solution.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 02 Mar 2011 14:11:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/how-to-access-esri-from-excel/m-p/403439#M10439</guid>
      <dc:creator>ThaoNguyen</dc:creator>
      <dc:date>2011-03-02T14:11:35Z</dc:date>
    </item>
  </channel>
</rss>

