title: ObservableCollection of type (string, bool) is not being bond to the UI
body: <p>So I need to create a list of check boxes and bind those check box values. So here is my code.</p>
  
  <p>MV_Main._selectedStepRelaysForUI_CollectionChanged() is called 4 times since items are added in the MV_Main constructor.</p>
  
  <p>I have 4 check boxes that appear in the window. They are all false, and the Labels are blank. Clicking them does not result in _selectedStepRelaysForUI_CollectionChanged() being called.</p>
  
  <p>Could someone explain what I am doing wrong and then what I need to do to to make binding work correctly?</p>
  
  <p>here is my MainWindow.xaml</p>
  
  <pre><code>&lt;Window x:Class="Hipot_Sequence_Editor.MainWindow"
          xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
          xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
          xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
          xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
          xmlns:local="clr-namespace:Hipot_Sequence_Editor"
          mc:Ignorable="d"
          Title="MainWindow" Height="677.538" Width="896.456"&gt;
      &lt;Window.DataContext&gt;
          &lt;local:MV_Main&gt;&lt;/local:MV_Main&gt;
      &lt;/Window.DataContext&gt;
      &lt;Grid&gt;
          &lt;ItemsControl ItemsSource="{Binding SelectedStepRelaysForUI}"&gt;
              &lt;ItemsControl.ItemsPanel&gt;
                  &lt;ItemsPanelTemplate&gt;
                      &lt;WrapPanel x:Name="RelayStatus"&gt;
                      &lt;/WrapPanel&gt;
                  &lt;/ItemsPanelTemplate&gt;
              &lt;/ItemsControl.ItemsPanel&gt;
              &lt;ItemsControl.ItemTemplate&gt;
                  &lt;DataTemplate&gt;
                      &lt;WrapPanel Width="100" Height="Auto"&gt;
                          &lt;Label Content="{Binding Item1}"/&gt;
                          &lt;CheckBox IsChecked="{Binding Item2}"&gt;&lt;/CheckBox&gt;
                      &lt;/WrapPanel&gt;
                  &lt;/DataTemplate&gt;
              &lt;/ItemsControl.ItemTemplate&gt;
          &lt;/ItemsControl&gt;
      &lt;/Grid&gt;
  &lt;/Window&gt;
  </code></pre>
  
  <p>Here is my Model View Called MV_Main</p>
  
  <pre><code>class MV_Main : ObservableObject
  {
  
      private ObservableCollection&lt;(string,bool)&gt; _selectedStepRelaysForUI = new ObservableCollection&lt;(string, bool)&gt;();
  
  
      public MV_Main()
      {
          _selectedStepRelaysForUI.CollectionChanged += _selectedStepRelaysForUI_CollectionChanged;
  
  
          //** Test Data
          _selectedStepRelaysForUI.Add(("1",false));
          _selectedStepRelaysForUI.Add(("2", true));
          _selectedStepRelaysForUI.Add(("3", false));
          _selectedStepRelaysForUI.Add(("4", true));
      }
  
      public ObservableCollection&lt;(string,bool)&gt; SelectedStepRelaysForUI
      {
          get { return _selectedStepRelaysForUI; }
          set
          {
              _selectedStepRelaysForUI = value;
              RaisePropertyChangedEvent(nameof(SelectedStepRelaysForUI));
          }
      }
  
      private void _selectedStepRelaysForUI_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
      {
          //throw new NotImplementedException();
  
          Console.WriteLine("_selectedStepRelaysForUI_CollectionChanged");
      }
  }
  </code></pre>