title: Why the content of the pure IEnumerable is invisible for WPF DataGrid?
body: <p>Let's say I have a datagrid with itemsource binded to property Collection, which is for example IEnumerable. Of course I wrote appropriate getter and setter for it.</p>
  <p>Now, when I assign to this property (Collection) just IEnumerable (as the result of some method), like:</p>
  <pre><code>Collection = FooMethod(); // FooMethod returns IEnumerable&lt;MyClass&gt;
  </code></pre>
  <p>datagrid will display empty rows. The count of the rows will match the count of the Collection.</p>
  <p>But when I force conversion, like this:</p>
  <pre><code>Collection = FooMethodp().ToArray(); // forced fetching data
  </code></pre>
  <p>datagrid will show all rows with content now.</p>
  <p>So what stops datagrid from showing data in case of pure IEnumerable? It has to iterate over a collection so fetching occurs anyway.</p>
  <h2>edits</h2>
  <p>Just for the record. MyClass is this:</p>
  <pre><code>public class ErrorsIndicators
  {
      public double Min { get; set; }
      public double Max { get; set; }
      public double Avg { get; set; }
  }
  </code></pre>
  <p>and FooMethod returns (return yield) several items. So, nothing fancy here.</p>