title: Binding an element from a ObservableCollection's list into a Treeview Checkbox
body: <p>I'm trying to create a treeview with an ObservableCollection, but I'm having a problem on obtaining the elements from a list in my object. What happens is that I can retrieve the group name, it displays on the list just fine, but then instead of getting the usernames I get a blank space. Here's some code:</p>
  
  <pre><code>&lt;TreeView x:Name="treeUsers"&gt;
                  &lt;TreeView.ItemTemplate&gt;
                      &lt;HierarchicalDataTemplate ItemsSource="{Binding Path=GroupName}" &gt;
                          &lt;Grid Margin="1"&gt;
                              &lt;CheckBox Content="{Binding Path=UserList.Name}"  /&gt;
                          &lt;/Grid&gt;
                      &lt;/HierarchicalDataTemplate&gt;
                  &lt;/TreeView.ItemTemplate&gt;
  </code></pre>
  
  <h2>                </h2>
  
  <p>In this code, I obtain the users from a list, then separate them into different groups, and return the list to my Viewer.</p>
  
  <pre><code>        private Dictionary&lt;string, GroupDTO&gt; _groupsDTO= new Dictionary&lt;string, GroupDTO&gt;();
  
          _groupsDTO.Add("GENERAL", new GroupDTO("GENERAL"));
          foreach (NetSendUser user in ObtainUserList())
          {
              UserDTO userDTO = new UserDTO (user);
              _groupsDTO["GENERAL"].UserList.Add(userDTO );
              if (!_groupsDTO.ContainsKey(user.Area))
                  _groupsDTO.Add(user.Area, new GroupDTO(user.Area));
              _groupsDTO[user.Area].UserList.Add(userDTO);
          }
  
          ObservableCollection&lt;GroupDTO&gt; groups= new ObservableCollection&lt;GroupDTO&gt;(_groupDTO.Values.ToArray());
  treeUsers.ItemsSource = groups;
  </code></pre>
  
  <p>And here's my GroupDTO:</p>
  
  <pre><code>public class GroupDTO: ObjectDTO
      {
          internal GroupDTO(string name)
              : base()
          {
              _groupName = name;
          }
  
          private string _groupName = default(string);
          public string GroupName
          {
              get { return _groupName ; }
              set
              {
                  _groupName = value;
                  OnPropertyChanged("GroupName");
              }
          }
  
          private ObservableCollection&lt;UserDTO&gt; _userList= new ObservableCollection&lt;UserDTO&gt;();
          public ObservableCollection&lt;FuncionarioDTO&gt; UserList
          {
              get { return _userList; }
          }
      }
  </code></pre>