<?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: Table of Contents for ArcGIS Runtime SDK for .NET v10.2.7 in .NET Maps SDK Questions</title>
    <link>https://community.esri.com/t5/net-maps-sdk-questions/table-of-contents-for-arcgis-runtime-sdk-for-net/m-p/611432#M7525</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Andrew,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;I see you never got any replies to this. I am looking for a TOC in dot net SDK and am wondering how this worked out for you now that it is March 2019? Did you continue to build on this and add symbology?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 05 Mar 2019 18:19:35 GMT</pubDate>
    <dc:creator>RobertScheitlin__GISP</dc:creator>
    <dc:date>2019-03-05T18:19:35Z</dc:date>
    <item>
      <title>Table of Contents for ArcGIS Runtime SDK for .NET v10.2.7</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/table-of-contents-for-arcgis-runtime-sdk-for-net/m-p/611431#M7524</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;We would like confirmation on our approach to building a Table of Contents in WPF using the ArcGIS Runtime SDK for .NET v10.2.7.&amp;nbsp; We have looked at the Legend control in the Toolkit but it does not seem to provide a way to manage the visibility of each sub-layer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have the following custom class which represents a map layer/sub-layer node displayed in a WPF TreeView control. We store the Layer Id in the Tag property.&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;class&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;TOCNodeClass&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; : &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;INotifyPropertyChanged&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; DisplayName { &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;get&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; Tag { &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;get&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;bool&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; isChecked;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;bool&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; IsChecked&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;get&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; { &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;.isChecked; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;set&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;value&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; != &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;.isChecked)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;.isChecked = &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;value&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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; NotifyPropertyChanged();&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;bool&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; isEnabled;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;bool&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; IsEnabled&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;get&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; { &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;return&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;.isEnabled; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;set&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; (&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;value&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; != &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;.isEnabled)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;.isEnabled = &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;value&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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; NotifyPropertyChanged();&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;double&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; MinScale { &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;get&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;double&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; MaxScale { &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;get&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;ObservableCollection&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;TOCNodeClass&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;gt; Nodes { &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;get&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: green; background: white;"&gt;//PropertyChanged Handler&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;event&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;PropertyChangedEventHandler&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; PropertyChanged;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; NotifyPropertyChanged([&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;CallerMemberName&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;] &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; propertyName = &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;""&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;if&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; (PropertyChanged != &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;null&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;)&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;PropertyChanged(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;this&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;, &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;PropertyChangedEventArgs&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;(propertyName));&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&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;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We have an observable collection &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;ObservableCollection&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;TOCNodeClass&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;gt; TOC { &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;get&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;; &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;set&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;; }&lt;/SPAN&gt; &lt;SPAN style="color: black;"&gt;to &lt;/SPAN&gt;which we add a &lt;SPAN style="color: #2b91af; background: white;"&gt;TOCNode&lt;/SPAN&gt;&lt;SPAN style="color: #2b91af;"&gt;Class&lt;/SPAN&gt; object for each map layer that is added to the MapView.Map.Layers collection.&amp;nbsp; Note each &lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;TOCNodeClass&lt;/SPAN&gt; object has its own observable collection to allow adding sub-layers (feature layers).&amp;nbsp; We are building these objects using the properties found in each map layer’s &lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;AllLayersServiceInfo&lt;/SPAN&gt; object and subsequently each sub-layer’s &lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;FeatureServiceLayerInfo&lt;/SPAN&gt; object.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We have a WPF TreeView control bound to the TOC observable collection as shown below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt;"&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;TreeView&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; x&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;:&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="TableOfContents"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; Width&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="auto"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; HorizontalAlignment&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="Stretch" &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt;ItemsSource&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; TOC&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;}"&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin-bottom: .0001pt; text-indent: .5in;"&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;TreeView.ItemTemplate&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in .0001pt 1.0in;"&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;HierarchicalDataTemplate&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; DataType&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;x&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;:&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;Type&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; local&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;:&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt;TOCNodeClass&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;}"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt;&amp;nbsp;&amp;nbsp; ItemsSource&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; Nodes&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;}"&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in .0001pt 1.5in;"&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;CheckBox&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; x&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;:&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt;Name&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="CheckBoxTOC"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; Tag&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; Tag&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;}"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; IsEnabled&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; IsEnabled&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;}"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; IsChecked&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; IsChecked&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;}"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; Focusable&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="false"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; Checked&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="CheckBoxTOC_Checked"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; Unchecked&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="CheckBoxTOC_Unchecked"&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in .0001pt 2.0in;"&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;TextBlock&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; Text&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="{&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;Binding&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; DisplayName&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;}"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; FontWeight&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="Bold"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; MaxWidth&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="250"&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: red; background: white;"&gt; TextTrimming&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;="CharacterEllipsis" /&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="text-indent: .5in; margin: 0in 0in .0001pt 1.0in;"&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;CheckBox&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="text-indent: .5in; margin: 0in 0in .0001pt .5in;"&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;HierarchicalDataTemplate&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P style="margin: 0in 0in .0001pt .5in;"&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;TreeView.ItemTemplate&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #a31515; background: white;"&gt;TreeView&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here's&amp;nbsp;a list of methods we use&amp;nbsp;to manage the state of the TreeView control:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;async&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; AddMapLayerToTOC(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; strMapLayerId)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;bool&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; AreAllMapLayerParentNodesChecked(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;TOCNodeClass&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; objMapLayerNode, &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;TOCNodeClass&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; objChildNode)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;bool&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; AreAllTOCParentNodesChecked(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;ObservableCollection&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;TOCNodeClass&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;gt; objCollection, &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;TOCNodeClass&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; objChildNode)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; CheckBoxTOC_Checked(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;object&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; sender, &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;RoutedEventArgs&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; e)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; CheckBoxTOC_Unchecked(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;object&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; sender, &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;RoutedEventArgs&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; e)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;TOCNodeClass&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; FindTOCNode(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;ObservableCollection&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;TOCNodeClass&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt;&amp;gt; objNodeCollection, &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; strTag)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;bool&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; IsLayerEnabled(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;double&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; dblMinScale, &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;double&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; dblMaxScale)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; RefreshTOC()&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; RemoveMapLayerFromTOC(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; strMapLayerId)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; ToggleTOC(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; strClickedLayerTag, &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;bool&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; blnIsChecked)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;void&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; MapView_Main_NavigationCompleted(&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: blue; background: white;"&gt;object&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; sender, &lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;EventArgs&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: black; background: white;"&gt; e)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We found that we must manage each map layer’s &lt;SPAN style="font-size: 9.5pt; color: #2b91af; background: white;"&gt;ArcGISDynamicMapServiceLayer&lt;/SPAN&gt;&lt;SPAN style="font-size: 9.5pt; color: #2b91af;"&gt;.&lt;/SPAN&gt;VisibleLayers collection to show and hide the individual sub-layers (feature layers) by adding and removing the sub-layer’s Layer Id.&amp;nbsp; To complicate matters, each time a sub-layer’s checkbox changes state, we must inspect the checkbox state of all its parent nodes and all its sub-layer nodes to determine the visibility of each sub-layer.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;We also have code in the MapView’s NavigationCompleted event to refresh the Table of Contents, as well as each map layer’s VisibleLayers collection, based on each sub-layer’s Min. Scale and Max. Scale settings.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Although we’ve made this work, it would be good to know if there's a better way to build a Table of Contents control.&amp;nbsp; Ultimately, we would like to display each sub-layer’s symbology in the Table of Contents; still trying to figure this out.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you in advance for your suggestions.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 01 Nov 2016 18:25:52 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/table-of-contents-for-arcgis-runtime-sdk-for-net/m-p/611431#M7524</guid>
      <dc:creator>AndrewFoster</dc:creator>
      <dc:date>2016-11-01T18:25:52Z</dc:date>
    </item>
    <item>
      <title>Re: Table of Contents for ArcGIS Runtime SDK for .NET v10.2.7</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/table-of-contents-for-arcgis-runtime-sdk-for-net/m-p/611432#M7525</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Andrew,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;I see you never got any replies to this. I am looking for a TOC in dot net SDK and am wondering how this worked out for you now that it is March 2019? Did you continue to build on this and add symbology?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Mar 2019 18:19:35 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/table-of-contents-for-arcgis-runtime-sdk-for-net/m-p/611432#M7525</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2019-03-05T18:19:35Z</dc:date>
    </item>
    <item>
      <title>Re: Table of Contents for ArcGIS Runtime SDK for .NET v10.2.7</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/table-of-contents-for-arcgis-runtime-sdk-for-net/m-p/611433#M7526</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes, we built the table of contents&amp;nbsp;as described in&amp;nbsp;the original post&amp;nbsp;and later added Symbology for each feature layer.&amp;nbsp; We had to access each feature layer's FeatureServiceLayerInfo.DrawingInfo properties to determine the type of Symbology renderer used.&amp;nbsp; A feature class with one symbol uses a SimpleRender; one with multiple symbols uses either a UniqueValueRenderer or a ClassBreaksRenderer.&amp;nbsp;&amp;nbsp;We added a node&amp;nbsp;in the table of contents under the respective feature layer&amp;nbsp;node&amp;nbsp;for each symbol.&amp;nbsp; This&amp;nbsp;required a new property in our&amp;nbsp;&lt;SPAN style="background: white; color: red; font-size: 9.5pt;"&gt;TOCNodeClass&lt;/SPAN&gt;&amp;nbsp;to hold the symbol's image&amp;nbsp;which is of type System.Windows.Media.ImageSource.&amp;nbsp; We retrieved the&amp;nbsp;image&amp;nbsp;by calling the feature layer render's Symbol.CreateSwatchAsync() method.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Surprisingly,&amp;nbsp;the table of contents displays really fast even with multiple map layers in the map view.&amp;nbsp; Post your email address and I'll try to send you&amp;nbsp;a code sample.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Mar 2019 19:42:08 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/table-of-contents-for-arcgis-runtime-sdk-for-net/m-p/611433#M7526</guid>
      <dc:creator>AndrewFoster</dc:creator>
      <dc:date>2019-03-05T19:42:08Z</dc:date>
    </item>
    <item>
      <title>Re: Table of Contents for ArcGIS Runtime SDK for .NET v10.2.7</title>
      <link>https://community.esri.com/t5/net-maps-sdk-questions/table-of-contents-for-arcgis-runtime-sdk-for-net/m-p/611434#M7527</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Andrew,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; &amp;nbsp;Can you follow me on GeoNet so that I can private message you? I would rather not post my email on GeoNet. Thanks for offering to share your work. That is waht makes GeoNet a great community.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 05 Mar 2019 23:47:14 GMT</pubDate>
      <guid>https://community.esri.com/t5/net-maps-sdk-questions/table-of-contents-for-arcgis-runtime-sdk-for-net/m-p/611434#M7527</guid>
      <dc:creator>RobertScheitlin__GISP</dc:creator>
      <dc:date>2019-03-05T23:47:14Z</dc:date>
    </item>
  </channel>
</rss>

