Если вам нужно несколько столбцов и заголовков столбцов, не используйте ListBox
... используйте вместо ListView
или DataGrid
.
Что касается сортировки, вам, вероятно, придется сделать это вручную из-за способа заполнения списка. Было бы намного проще, если бы вы использовали привязку данных. О все в WPF проще, когда вы начинаете использовать привязку ...