void ScorePropertyGrid_Loaded(object sender, RoutedEventArgs e) { if (mListBoxGrid != null) { mListBoxGrid.ItemsSource = mListProperties; } var view = (CollectionView)CollectionViewSource.GetDefaultView(mListProperties); if (view != null) { if (view.GroupDescriptions != null && view.GroupDescriptions.Count == 0) { view.GroupDescriptions.Add(new PropertyGroupDescription("Category")); } else { if (view.GroupDescriptions != null) { view.GroupDescriptions.Clear(); } } } NameColumnWidth = 100; if (SelectObject != null) { mListProperties.Clear(); List <ScoreProperty> listProperties = new List <ScoreProperty>(); SelectObject.GetPropertyList(ref listProperties); for (int i = 0; i < listProperties.Count; i++) { mListProperties.Add(listProperties[i]); } } }