public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); List devices = new List(); devices.Add(new AudioDevice() { Name= "MP4 Audio1", Direction="direction1"}); devices.Add(new AudioDevice() { Name= "MP4 Audio2", Direction = "direction1" }); devices.Add(new AudioDevice() { Name= "MP4 Audio3", Direction = "direction2" }); devices.Add(new AudioDevice() { Name= "MP4 Audio4", Direction = "direction2" }); devices.Add(new AudioDevice() { Name = "MP4 Audio5", Direction = "direction1" }); ListCollectionView lcv = new ListCollectionView(devices); lcv.GroupDescriptions.Add(new PropertyGroupDescription("Direction")); this.cb.ItemsSource = lcv; } } public class AudioDevice { public string Name { get; set; } public string Direction { get; set; } public string Id { get; set; } public bool Default { get; set; } public override string ToString() { return Name; } }