Wpf 如何获取DataGrid的所有选定项。(最新)

Wpf 如何获取DataGrid的所有选定项。(最新),wpf,datagrid,wpfdatagrid,selecteditemchanged,Wpf,Datagrid,Wpfdatagrid,Selecteditemchanged,我当前正在尝试获取由上的“多行选择”用户选择的选定datagrid行的集合 每一行都绑定到我希望显示为选中的可视对象 因此,对于数据网格,我添加了以下样式: <Style TargetType="DataGridRow"> <EventSetter Event="Selected" Handler="DataGrid_RowSelectionChanged" /> </Style> 因此,当用户选择一行时,我会触发一个事件 但是,当选择一行并插入

我当前正在尝试获取由上的“多行选择”用户选择的选定datagrid行的集合

每一行都绑定到我希望显示为选中的可视对象

因此,对于数据网格,我添加了以下样式:

<Style TargetType="DataGridRow">
      <EventSetter Event="Selected" Handler="DataGrid_RowSelectionChanged" />
</Style>
因此,当用户选择一行时,我会触发一个事件

但是,当选择一行并插入事件时。所选项目尚未更新,它仍然显示我以前选择的内容。DataGrid.CurrentItem显示我刚刚单击并将要选择的行,但由于它是多选的,因此我希望能够获得当前选择的所有行,并突出显示我的可视对象

有没有办法从datagrid获取最新的选定项列表?选择新行后是否有可以触发的事件

感谢和问候, Kev

您希望使用该事件。SelectionChangedEventArgs将包含更改选择时添加或删除的项目

        DataGrid dg = new DataGrid();
        dg.SelectionChanged += new System.Windows.Controls.SelectionChangedEventHandler(OnSelectionChanged);

        void OnSelectionChanged(object sender, System.Windows.Controls.SelectionChangedEventArgs e)
        {
            foreach (var addedItem in e.AddedItems)
            {
                //do stuff
            }

            foreach (var removedItem in e.RemovedItems)
            {
                //do stuff
            }
        }

是的,正是我要找的。。。谢谢。