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