If you develop a Windows Presentation Foundation (or UWP or MAUI) application with MvvM pattern and don’t use any framework for that like Prism, you better take a look at what .NET Community Toolkit has prepared for you.
The Windows Presentation Foundation DataGrid control offers a huge possibilities regarding displaying tabular data. However one functionality I was always missing in data grid was the possibility to fire a command when user clicks a row.
Recently I struggled on my user control trying to make the dependency property be updated when I change the source of the binding. That confirmed my belief that WPF does not forgive any single developer’s mistake.
DataGrid control in WPF is a rich table structured control, which is perfect for displaying any kind of data in table like format. The one think about DataGrid it always lack, is a possibility to easily change the order of rows. It is not even about drag and drop of rows and items from and into the DataGrid , but simply rearrange existing rows in DataGrid control. It this post I will present you my solution for this problem, which additionally sticks to MvvM pattern perfectly.
A time ago I wrote about using collection views in WPF to achieve different looks at the same source collection. By creating different instances of ListCollectionView we could have the collection displayed in different sorting, ordering and grouping shape. Unfortunately there is small trap when using collection views.