【问题标题】:Get SelectedItems in datagrid在数据网格中获取 SelectedItems
【发布时间】:2014-01-10 15:55:11
【问题描述】:

我的数据网格中的选定项目恢复存在问题。

在我的 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)
        {
            ...
        }

现在,我的问题是: 在我的数据网格中,如果我只有一项,则 selectionChanged 事件不起作用。但是,如果我有不止一件物品,那么我的活动就会奏效。

您有什么想法可以解决我的问题吗? 非常感谢!

【问题讨论】:

  • selectionchanged 事件是否基于鼠标点击一行?
  • 您是否决定不使用the SelectedCellsChanged event?如果这个问题看起来令人讨厌,请原谅我;你不能总是在这里判断人们是否有经验。
  • SelectedItems.Index 在加载时需要为 -1,这将使 SelectionChanged 即使只有 1 条记录也能触发

标签: c# wpf datagrid


【解决方案1】:

在您的 XAML 代码中添加属性 SelectedIndex="-1"

<DataGrid SelectedIndex="-1" SelectionChanged="DataGridSelectionChanged" ...>
  ...
</DataGrid>

【讨论】:

  • selectedIndex 并没有改变任何东西......我已经遇到了同样的问题
猜你喜欢
  • 1970-01-01
  • 2015-05-28
  • 2016-06-20
  • 2012-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-24
相关资源
最近更新 更多