C# 在datagrid中获取SelectedItems

C# 在datagrid中获取SelectedItems,c#,wpf,datagrid,C#,Wpf,Datagrid,我在datagrid中恢复所选项目时遇到问题 在我的xaml文件中,我有: <i:Interaction.Triggers> <i:EventTrigger EventName="SelectionChanged"> <i:InvokeCommandAction Command="{Binding SelectionChanged}" CommandParameter="

我在datagrid中恢复所选项目时遇到问题

在我的xaml文件中,我有:

            <i:Interaction.Triggers>
                <i:EventTrigger EventName="SelectionChanged">
                    <i:InvokeCommandAction Command="{Binding SelectionChanged}" CommandParameter="{Binding SelectedItems, ElementName=technicalAlarmDatagrid}"/>
                </i:EventTrigger>
            </i:Interaction.Triggers>

然后,在我的ViewModel中,我有如下绑定命令:

        public ICommand SelectionChanged
        {
            get
            {
                if (_selectionChangedCommand == null)
                    _selectionChangedCommand = CreateCommand<object>(OnSelectionChanged);
                return _selectionChangedCommand;
            }
        }

        private void OnSelectionChanged(object parameter)
        {
            ...
        }
公共ICommand选择已更改
{
得到
{
if(_selectionChangedCommand==null)
_selectionChangedCommand=CreateCommand(OnSelectionChanged);
返回_selectionChangedCommand;
}
}
私有void OnSelectionChanged(对象参数)
{
...
}
现在,我的问题是: 在我的datagrid中,如果我只有一项,selectionChanged事件将不起作用。但如果我有不止一个项目,那么我的活动就有效了

你有什么办法解决我的问题吗?
非常感谢

在XAML代码中添加属性SelectedIndex=“-1”


...

selectionchanged事件是否基于鼠标单击一行?您是否决定不使用?如果这个问题令人讨厌,请原谅我;你不能总是在这里判断人们是否有经验。SelectedItems.Index需要在加载时为-1这将启用SelectionChanged以激发,即使只有1条记录selectedIndex没有任何更改。。。我已经有同样的问题了
<DataGrid SelectedIndex="-1" SelectionChanged="DataGridSelectionChanged" ...>
  ...
</DataGrid>