C# DataGridView tri avec Liste Générique en tant que source sous-jacente

Je suis en utilisant un DataGridView Windows Forms pour afficher une liste générique de MyObject objets.

Tout d'abord, je envelopper cette collection dans un BindingSource Collection, puis:

dataGridView.DataSource = myBindingSource;

Ce que je veux faire est de permettre à l'utilisateur de trier les colonnes par clickin sur l'en-tête de la colonne représentant un béton de Propriété dans MyObject.

J'ai lu quelques articles que je dois faire le tri avant de liaison. Mais il ne m'aide pas si je veux trier les colonnes en temps réel, dit alors qu'il est déjà lié.

La question est, exactement ce que dois-je faire, si j'ai pu voir le tri des flèches dans DataGridView et j'ai pu trier chaque colonne ?