C# 4.0 如何在DataGrid控件上标记多重选择?
我有一个基于Datagrid的自定义控件。我想要实现的是多行选择,然后右键单击行选择器打开关联菜单。 实际情况:在用户右键单击行选择器之前,多行的选择工作正常。完成此操作后,只有一个选定行,即单击鼠标右键的行 我需要做的是:允许用户进行多个选择(行具有选择样式),然后右键单击打开上下文菜单,而不丢失以前的选择C# 4.0 如何在DataGrid控件上标记多重选择?,c#-4.0,datagrid,C# 4.0,Datagrid,我有一个基于Datagrid的自定义控件。我想要实现的是多行选择,然后右键单击行选择器打开关联菜单。 实际情况:在用户右键单击行选择器之前,多行的选择工作正常。完成此操作后,只有一个选定行,即单击鼠标右键的行 我需要做的是:允许用户进行多个选择(行具有选择样式),然后右键单击打开上下文菜单,而不丢失以前的选择 我需要做什么?不,根本不是这样的。确保将DataGridViewMultiSelect属性设置为TRUE。然后将ContextMenustrip控件分配给datagrid的ContextM
我需要做什么?不,根本不是这样的。确保将
DataGridView
MultiSelect
属性设置为TRUE
。然后将ContextMenustrip
控件分配给datagrid的ContextMenustrip
属性
这应该可以完成工作,而且多个选择也应该保留在鼠标右键单击上,除非在您的代码后面的某个地方您正在更改它
在这种情况下,您必须调试并找出在哪里以及如何调试。刚刚重新查看了代码,发现我没有更新SelectedItems IList:
Dispatcher.BeginInvoke(new Action(delegate
{
foreach (var item in e.RemovedItems)
{
SelectedItems.Add(item);
}
SelectedItemsList.Add(SelectedItem);
}), System.Windows.Threading.DispatcherPriority.ContextIdle, null);
它不是DataGridView,而是DataGrid。无论哪种方式,我都会假设它们以类似的方式工作。