从数据网格中删除选定的行

时间:2019-07-27 20:03:28

标签: c# uwp datagrid

如何添加选项以从DataGrid中删除选定的行?

<controls:DataGrid
   x:Name="targetsDataGrid"
   ItemsSource="{x:Bind Source}"
   AutoGenerateColumns="False"
   ColumnWidth="*"
   Height="220"
   Margin="0,40,0,0"
   VerticalAlignment="Top"
   HorizontalContentAlignment="Center"
   CanUserResizeColumns="False"
   CanUserSortColumns="False"
   HeadersVisibility="All"
   GridLinesVisibility="Horizontal">
   <controls:DataGrid.Columns>
       <controls:DataGridTextColumn Header="X" Binding="{Binding X}"/>
       <controls:DataGridTextColumn Header="Y" Binding="{Binding Y}"/>
       <controls:DataGridTextColumn Header="Z" Binding="{Binding Z}"/>
       <controls:DataGridTextColumn Header="W" Binding="{Binding W}"/>
   </controls:DataGrid.Columns>
</controls:DataGrid>

我更喜欢使用外部按钮。

1 个答案:

答案 0 :(得分:0)

我看到您正在使用数据绑定,这意味着项目实际上存储在Source集合中。您可以使用SelectedItem创建到另一个属性的双向绑定,该属性将存储选定的项目:

public YourItemType Selected { get; set; }

和XAML:

<controls:DataGrid
   x:Name="targetsDataGrid"
   ItemsSource="{x:Bind Source}"
   SelectedItem="{x:Bind Selected, Mode=TwoWay}" ...

现在添加一个按钮,并在其Click事件处理程序或Command中执行以下操作:

if (Selected != null)
{
   Source.Remove(Selected);
}

确保SourceObservableCollection<YourItemType>,以确保DataGrid可以观察集合中的更改并相应地更新UI。

相关问题