У меня есть сетка данных, привязанная к ObservableCollection
, которая использует CollectionView
для группировки и сортировки. У всех сгруппированных заголовков есть кнопка (найден этот пост в качестве ответа на этот вопрос), и для того, чтобы найти имя группы для передачи обратно в модель представления, я делаю следующее при нажатии кнопки обработчик события:
private void Btn_Click(object sender, RoutedEventArgs e)
{
MainViewModel vm = (MainViewModel)DataContext;
Button b = (Button)sender;
DockPanel dp = (DockPanel) b.Parent;
FrameworkElement x = (FrameworkElement)dp.Parent;
GroupItem g = x.TemplatedParent as GroupItem;
string name = g.Content.ToString();
CollectionViewGroup cvg = g.Content as CollectionViewGroup;
name = cvg.Name.ToString();
}
Это работает, но я чувствую, что должен быть более простой способ, который мог бы использовать связанное свойство в моем ViewModel
, но эти заголовки не имеют настраиваемой привязки, кроме Name
и количества элементов, оба из которых являются автоматическими.
Я что-то упустил?