为了账号安全,请及时绑定邮箱和手机立即绑定

如何根据类属性值拒绝删除行?C# WPF

如何根据类属性值拒绝删除行?C# WPF

C#
慕的地6264312 2022-06-18 17:02:57
如果某些属性具有特定值,我想拒绝删除一行,例如,如果产品类型是 Steel,我想拒绝用户删除该行。我正在为我的数据网格设置源,如下所示:dataGridSourceList = new ObservableCollection<DatabaseItems>(TempController.Instance.SelectItemsByUserId(Globals.CurrentUser.Id));dtgMainItems.ItemsSource = dataGridSourceList;我看到有一个属性CanUserDeleteRows我已经将此添加到 xaml 中我的数据网格的定义中,但我不确定如何正确应用它..CanUserDeleteRows="{Binding ElementName=dtgMainItems, Path=SelectedItem.IsDeleteEnabled}"任何形式的帮助都会很棒谢谢
查看完整描述

1 回答

?
小唯快跑啊

TA贡献1863条经验 获得超2个赞

您可以处理CommandManager.PreviewCanExecute附加的事件:


private void OnPreviewCanExecute(object sender, CanExecuteRoutedEventArgs e)

{

    if (e.Command == DataGrid.DeleteCommand)

    {

        DatabaseItems selectedItem = dtgMainItems.SelectedItem as DatabaseItems;

        if (selectedItem != null && !selectedItem.IsDeleteEnabled)

            e.Handled = true;

    }

}

XAML:


<DataGrid x:Name="dtgMainItems" CommandManager.PreviewCanExecute="Grid_PreviewCanExecute" />


查看完整回答
反对 回复 2022-06-18
  • 1 回答
  • 0 关注
  • 135 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号