ObjectListView is a C# convenience wrapper around .NET's ListView. It makes the ListView much easier to use by supporting automatic sorting, grouping, cell editing, data binding, reporting, column sizing. There is also a Python version for wxPython.
ObjectListView supports all Views, including Tile view
This is what ObjectListView can do with a few callbacks