C# 如何禁用特定行并防止在数据网格中单击Xamarin?

C# 如何禁用特定行并防止在数据网格中单击Xamarin?,c#,xamarin.forms,datagrid,C#,Xamarin.forms,Datagrid,我已经创建了一个数据网格,里面有三列,firstName,lastName,和age。当年龄值小于18时,我想禁用特定行。我怎样才能做到这一点?我在网上做了一些研究,它说处理这种情况的事件是CurrentCellActivating,因此我创建了如下方法: private void DataGrid\u disablespecificRow(对象发送方,CurrentCellActivatingEventArgs e) { } 这就是到目前为止我在XAML中的内容 <datagr

我已经创建了一个数据网格,里面有三列,
firstName
lastName
,和
age
。当年龄值小于
18
时,我想禁用特定行。我怎样才能做到这一点?我在网上做了一些研究,它说处理这种情况的事件是
CurrentCellActivating
,因此我创建了如下方法:

private void DataGrid\u disablespecificRow(对象发送方,CurrentCellActivatingEventArgs e)
{
}
这就是到目前为止我在XAML中的内容

    <datagrid:SfDataGrid x:Name="dataGrid" Padding="0,20" GridTapped="Handle_GridTapped" HorizontalOptions="CenterAndExpand" AutoGenerateColumns="false" SelectionMode="Single" BackgroundColor="Transparent" QueryRowStyle="DataGrid_QueryRowStyle">
        </datagrid:SfDataGrid>


但是,我只是不知道如何禁用特定行。使用
e
,没有像
e.RowIndex.IsEnabled=false这样的选项。如果您有任何意见,我们将不胜感激。

我还没有测试过它是否有效,但我认为类似于以下内容的东西应该会起作用。检查年龄的IF语句可能需要更改,但其余的应该可以

protected void GridView1_DataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            if (e.Row.Cells[5].Age < 18)
            {
                 e.Row.Enabled = false;
            }
        }
    }
受保护的void GridView1\u数据绑定(对象发送方,GridViewRowEventArgs e)
{
如果(e.Row.RowType==DataControlRowType.DataRow)
{
如果(如行单元格[5],年龄<18岁)
{
e、 Row.Enabled=false;
}
}
}

您好,谢谢您的回复。但是我需要在XAML中放入什么事件来支持GridViewRowEventArgs呢?目前我有一个问题,上面的代码有错误吗?如果是,与GridViewEventArgs相关的错误消息是什么?找不到命名空间名称“GridViewRowEventArgs”的类型。是否缺少using指令或程序集引用?潜在的修复程序只是让我为它创建一个新类。如果这个问题还没有解决,你介意发布你的当前代码吗?可能缺少带有“更新包–重新安装”的导入或updaye NuGet包