 <p>This Code Should Help You May Be </p> <pre><code> bool SortDateAsc = true; private void Date_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (SortDateAsc) { ObservableCollection&lt;InvoicesDTO&gt; a = new ObservableCollection&lt;InvoicesDTO&gt;(((ResolutionVM)this.DataContext).MainInvoiceList.OrderBy(oc =&gt; oc.FC_AGE)); ((ResolutionVM)this.DataContext).MainInvoiceList = a; InvoiceGrid.ItemsSource = ((ResolutionVM)this.DataContext).MainInvoiceList.ToList(); SortDateAsc = false; ((ResolutionVM)this.DataContext).RefreshSelctedInvoice(); } else { ObservableCollection&lt;InvoicesDTO&gt; a = new ObservableCollection&lt;InvoicesDTO&gt;(((ResolutionVM)this.DataContext).MainInvoiceList.OrderByDescending(oc =&gt; oc.FC_AGE)); ((ResolutionVM)this.DataContext).MainInvoiceList = a; InvoiceGrid.ItemsSource = ((ResolutionVM)this.DataContext).MainInvoiceList.ToList(); SortDateAsc = true; ((ResolutionVM)this.DataContext).RefreshSelctedInvoice(); } } </code></pre>