Я пытаюсь создать контекстное меню, отображающее список строк. Приложение содержит набор данных для людей, которые могут быть отредактированы, удалены и добавлены в группу. У меня есть класс StudentGroup, которые представляют собой разные группы, к которым может быть добавлен человек (один из членов группы StudentGroup - это имя). ViewModel извлекает полный список групп и помещает их в коллекцию Observable. Я пытаюсь настроить контекстное меню таким образом, чтобы всякий раз, когда пользователь щелкает правой кнопкой мыши и наводит курсор на «Добавить пользователя» в ->, он открывает боковые элементы меню, содержащие строку имени наблюдаемых коллекций.Связывание наблюдаемой коллекции с контекстным меню
Это то, что я пробовал до сих пор, просматривая похожие вопросы в StackOverflow, но пока он не работал.
Часть XAML:
<DataGrid.ContextMenu>
<ContextMenu AllowDrop="True" ItemsSource="{Binding Entries}">
<MenuItem Header="Edit" />
<MenuItem Header="Delete"/>
<MenuItem Header="Add User to">
<MenuItem.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>
</ContextMenu>
</DataGrid.ContextMenu>
XAML код позади Вид:
private TitleViewMode TVM=new TitleViewMode;
public Welcome()
{
InitializeComponent();
_grid1.ContextMenu.DataContext = TVM;
}
ViewModel
class TitleViewModel
{
public ObservableCollection<StudentGroup> Entries {get;set;}
private List<StudentGroup> sg1 { get; set;}
public TitletViewModel()
{
sg1 = GetGroups();
Entries = new ObservableCollection<StudentGroup>(sg1);
}
}