gpt4 book ai didi

c# - 将可观察集合绑定(bind)到上下文菜单

转载 作者:行者123 更新时间:2023-11-30 17:52:33 25 4
gpt4 key购买 nike

我正在尝试让上下文菜单显示字符串列表。该应用程序包含一个可以编辑、删除和添加到组中的人员的数据网格。我有一个 StudentGroup 类,它是可以添加一个人的不同组(StudentGroup 的成员之一是姓名)。 ViewModel 检索完整的组列表并将其放入 Observable 集合中。我正在尝试使上下文菜单工作,以便每当用户右键单击并将鼠标悬停在添加用户到 -> 上时,它都会打开一个包含 Observable Collections 的名称字符串的侧面菜单项。

到目前为止,这是我通过在 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>

View 背后的 XAML 代码:

private TitleViewMode TVM=new TitleViewMode;
public Welcome()
{
InitializeComponent();
_grid1.ContextMenu.DataContext = TVM;
}

View 模型

class TitleViewModel
{
public ObservableCollection<StudentGroup> Entries {get;set;}
private List<StudentGroup> sg1 { get; set;}
public TitletViewModel()
{
sg1 = GetGroups();
Entries = new ObservableCollection<StudentGroup>(sg1);
}

}

最佳答案

这应该可行

<MenuItem Header="Add User to" ItemsSource="{Binding Entries}">
<MenuItem.ItemTemplate>
<DataTemplate>
<MenuItem Header="{Binding Name}"></MenuItem>
</DataTemplate>
</MenuItem.ItemTemplate>
</MenuItem>

关于c# - 将可观察集合绑定(bind)到上下文菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18263943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com