title: Reverse order of ObservableCollection
body: <p>I have <code>ObservableCollection</code> that contains a custom object.
  Normally the items get added at the end of the list</p>
  
  <p>What i am looking for:</p>
  
  <ul>
  <li>Items being added from the <strong>beginning</strong> of the list.</li>
  <li><strong>This may only show in the UI</strong>, my entire program is already using the positions of data inside this list. So the objects inside it may not change order in the code behind.</li>
  </ul>
  
  <p>This <code>ObservableColection</code> holds Button objects (custom styled). These buttons are being displayed in a <code>ListBox</code> and inside a <code>StackPanel</code> with Horizontal layout (so the buttons get nicely placed after each other).</p>
  
  <p><strong>Problem:</strong></p>
  
  <p>Every button that gets created receives a <code>DateTime</code>. A newly added button always has a more recent date then the button before that. <strong>All the calculations for this are happening inside a timer</strong>(currently running every second).</p>
  
  <p>So i am basically sorting on this time, but after like 3 buttons suddenly a button gets placed at right hand side (instead of the left hand side).</p>
  
  <p><em>For example:</em></p>
  
  <p>Btn3: 14:15:45(correct)  <strong>Btn4: 14:16:00(wrong)</strong>  Btn2: 14:15:32(correct)  Btn1: 14:04:17(correct)</p>
  
  <p>The first 3 buttons get added properly at the beginning of the list each time. And suddenly the fourth item is being added at the second place. It seems it is not always comparing the time? Every time a button gets created the <code>CollectionViewSource</code> method gets called upon.</p>
  
  <p>Is there something wrong with the <code>CollectionViewSource</code> or is there a better way of handling this?</p>