<?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: LayerItemViewModel.LayerItems returning null for dynamic layer in ArcGIS API for Silverlight Questions</title>
    <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/layeritemviewmodel-layeritems-returning-null-for/m-p/175435#M4373</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Dominique!,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yep, I am looking for just a list of the visible layers and sublayers, hence the &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'if (srvcLyrViewModel.IsVisible)'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;statement.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried the ArcGISDynamicMapServiceLayer.GetSublayerVisibility and it works fantastic except it does not seem to honor sublayers that are enabled but not visible on the map because they are not within the scale range of the map.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I was trying the 'LayerItemViewModel' approach because I saw in the �??Legend with Templates�?? ( &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/webapi/silverlight/samples/start.htm#LegendWithTemplates"&gt;http://help.arcgis.com/en/webapi/silverlight/samples/start.htm#LegendWithTemplates&lt;/A&gt;&lt;SPAN&gt; ) example the sublayers are enabled (via a binding in the xaml) to the IsInScaleRange property, which I found in the LayerItemViewModel class.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the API reference I found the LayerItemViewModel.IsVisible property ( &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/webapi/silverlight/apiref/ESRI.ArcGIS.Client.Toolkit~ESRI.ArcGIS.Client.Toolkit.Primitives.LayerItemViewModel~IsVisible.html"&gt;http://help.arcgis.com/en/webapi/silverlight/apiref/ESRI.ArcGIS.Client.Toolkit~ESRI.ArcGIS.Client.Toolkit.Primitives.LayerItemViewModel~IsVisible.html&lt;/A&gt;&lt;SPAN&gt; ) handles both the visibility and the scale range.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A puzzle indeed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-Marcus&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 06 Jul 2011 15:04:12 GMT</pubDate>
    <dc:creator>MarcusHarner</dc:creator>
    <dc:date>2011-07-06T15:04:12Z</dc:date>
    <item>
      <title>LayerItemViewModel.LayerItems returning null for dynamic layer</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/layeritemviewmodel-layeritems-returning-null-for/m-p/175433#M4371</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I used the ???Legend with Templates??? example to create a legend with checkboxes for layers within a map layer.&amp;nbsp; It works wonderfully.&amp;nbsp; I???ve been trying to have create combo boxes populated the visible layers (which varies with scale and which layers a checked in the legend).&amp;nbsp; After about a week of testing various ideas I think using the LayerItemViewModel and LayerItems seems to be almost working to provide a list of the visible layers.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It works great the first time I load the page, but when I turn on/off a layer in the legend the LayersItems returns null.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I effectively run this code when a layer is checked on/off&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Layer srvcLayer = null;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;ObservableCollection&amp;lt;LayerItemViewModel&amp;gt; srvcLyrViewModels = DisplayLegend.LayerItems;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// DisplayLegend it the name of the legend&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;foreach (LayerItemViewModel srvcLyrViewModel in srvcLyrViewModels) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;// srvcLyrViewModel is the service layer in the map&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (srvcLyrViewModel.IsVisible)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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; srvcLayer = srvcLyrViewModel.Layer;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (srvcLayer is ArcGISDynamicMapServiceLayer)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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; ObservableCollection&amp;lt;LayerItemViewModel&amp;gt; lyrViewModels = srvcLyrViewModel.LayerItems;&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; if (lyrViewModels != null &amp;amp;&amp;amp; lyrViewModels.Count &amp;gt; 0)&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; foreach (LayerItemViewModel lyrViewModel in lyrViewModels) &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; // lyrViewModel is the layer in the service&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; if (lyrViewModel.IsVisible)&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; {&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; layerKey = srvcLyrViewModel.Label + " | " + lyrViewModel.Label;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MessageBox.Show(layerKey);&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; }&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; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the example, the lyrViewModels returns a null, even though there are layers in the service and in the legend. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Does anyone know if quirky issues with LegendItemViewModels or if I am totally not using them how they are meant to be used?&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks in advance for any advice.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;-Marcus Harner&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jul 2011 21:09:42 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/layeritemviewmodel-layeritems-returning-null-for/m-p/175433#M4371</guid>
      <dc:creator>MarcusHarner</dc:creator>
      <dc:date>2011-07-01T21:09:42Z</dc:date>
    </item>
    <item>
      <title>Re: LayerItemViewModel.LayerItems returning null for dynamic layer</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/layeritemviewmodel-layeritems-returning-null-for/m-p/175434#M4372</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;BLOCKQUOTE class="jive-quote"&gt;It works great the first time I load the page, but when I turn on/off a layer in the legend the LayersItems returns null. &lt;/BLOCKQUOTE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Due to this test:&lt;/SPAN&gt;&lt;BR /&gt;&lt;PRE class="lia-code-sample line-numbers language-none"&gt; 
if (srvcLyrViewModel.IsVisible)
{
 
&lt;/PRE&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;you are looking in the visible layers only. So you won't find the item once the layer is no more visible.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;That being said you don't need the legend to know whether a sublayer is visible or not. You can use GetSublayerVisibility as well &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/webapi/silverlight/apiref/ESRI.ArcGIS.Client~ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer~GetLayerVisibility.html" rel="nofollow noopener noreferrer" target="_blank"&gt;http://help.arcgis.com/en/webapi/silverlight/apiref/ESRI.ArcGIS.Client~ESRI.ArcGIS.Client.ArcGISDynamicMapServiceLayer~GetLayerVisibility.html&lt;/A&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 11 Dec 2021 09:03:09 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/layeritemviewmodel-layeritems-returning-null-for/m-p/175434#M4372</guid>
      <dc:creator>DominiqueBroux</dc:creator>
      <dc:date>2021-12-11T09:03:09Z</dc:date>
    </item>
    <item>
      <title>Re: LayerItemViewModel.LayerItems returning null for dynamic layer</title>
      <link>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/layeritemviewmodel-layeritems-returning-null-for/m-p/175435#M4373</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Thanks Dominique!,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Yep, I am looking for just a list of the visible layers and sublayers, hence the &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;'if (srvcLyrViewModel.IsVisible)'&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;statement.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I tried the ArcGISDynamicMapServiceLayer.GetSublayerVisibility and it works fantastic except it does not seem to honor sublayers that are enabled but not visible on the map because they are not within the scale range of the map.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I was trying the 'LayerItemViewModel' approach because I saw in the �??Legend with Templates�?? ( &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/webapi/silverlight/samples/start.htm#LegendWithTemplates"&gt;http://help.arcgis.com/en/webapi/silverlight/samples/start.htm#LegendWithTemplates&lt;/A&gt;&lt;SPAN&gt; ) example the sublayers are enabled (via a binding in the xaml) to the IsInScaleRange property, which I found in the LayerItemViewModel class.&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In the API reference I found the LayerItemViewModel.IsVisible property ( &lt;/SPAN&gt;&lt;A href="http://help.arcgis.com/en/webapi/silverlight/apiref/ESRI.ArcGIS.Client.Toolkit~ESRI.ArcGIS.Client.Toolkit.Primitives.LayerItemViewModel~IsVisible.html"&gt;http://help.arcgis.com/en/webapi/silverlight/apiref/ESRI.ArcGIS.Client.Toolkit~ESRI.ArcGIS.Client.Toolkit.Primitives.LayerItemViewModel~IsVisible.html&lt;/A&gt;&lt;SPAN&gt; ) handles both the visibility and the scale range.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;A puzzle indeed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;-Marcus&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Jul 2011 15:04:12 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-api-for-silverlight-questions/layeritemviewmodel-layeritems-returning-null-for/m-p/175435#M4373</guid>
      <dc:creator>MarcusHarner</dc:creator>
      <dc:date>2011-07-06T15:04:12Z</dc:date>
    </item>
  </channel>
</rss>

