title: Binding to Custom List Works On A DataGrid but Not on a ListView
body: <p>Why the object class name gets listed in a bound ListView instead of the object instance's property values?</p>
  
  <p>Correct amount (so DataContext is set) of rows consisting of only complete class name "MyNameSpace.MyClass" is listed without column headers with following xaml:</p>
  
  <p>MyClass property getters are never called.  </p>
  
  <pre><code>&lt;Grid&gt;
      &lt;ListView Name="MyClassesListView" ItemsSource="{Binding MyClassesItemsSource}"&gt;
          &lt;ListView.View&gt;
              &lt;GridView&gt;
                  &lt;GridViewColumn Header="Contract number" DisplayMemberBinding="{Binding ContractNumberProperty}" /&gt;
                  &lt;GridViewColumn Header="Status" DisplayMemberBinding="{Binding StatusProperty}" /&gt;
              &lt;/GridView&gt;
          &lt;/ListView.View&gt;
      &lt;/ListView&gt;
  &lt;/Grid&gt;
  </code></pre>
  
  <p>class:</p>
  
  <pre><code>public partial class MyClass
  {
      public string ContractNumber;
      public int Status;
  
      public string ContractNumberProperty 
      {
          get { return ContractNumber; }
          set { ContractNumber = value;  }
      }
  
      public int StatusProperty 
      {
          get { return Status; }
          set { Status = value;  }
      }
  }
  </code></pre>
  
  <p>viewmodel:</p>
  
  <pre><code>public class MyClassesViewModel : ViewModel
  {
      private ItemsSource&lt;MyClass&gt; _myClassesItemsSource;
      public ItemsSource&lt;MyClass&gt; MyClassesItemsSource
      {
          get
          {
              return _myClassesItemsSource;
          }
          set
          {
              this.SetValue(ref _myClassesItemsSource, value);
          }
      }
  }
  </code></pre>
  
  <p>explanation of own classes used:</p>
  
  <pre><code>class ItemsSource&lt;T&gt; implements: INotifyPropertyChanged, INotifyCollectionChanged, IEnumerable&lt;T&gt;, IEnumerable
  
  class ViewModel implements: INotifyPropertyChanged
  
  method SetValue&lt;T&gt; raises: PropertyChanged
  </code></pre>
  
  <p>BindingSource, IEnumerable, IEnumerable,  </p>
  
  <pre><code>public abstract class ViewModel : BindingSource
  </code></pre>
  
  <p>EDIT:</p>
  
  <p>This works perfect as DataGrid:</p>
  
  <pre><code>&lt;Grid&gt;
      &lt;DataGrid Name="MyClassesDataGrid" ItemsSource="{Binding MyClassesItemsSource}" AutoGenerateColumns="False"&gt;
          &lt;DataGrid.Columns&gt;
              &lt;DataGridTextColumn Header="Contract number" Binding="{Binding ContractNumberProperty}"/&gt;
              &lt;DataGridTextColumn Header="Status" Binding="{Binding StatusProperty}"/&gt;
          &lt;/DataGrid.Columns&gt;
      &lt;/DataGrid&gt;
  &lt;/Grid&gt;
  </code></pre>