如何删除特定RowDefinition中的网格子级?

时间:2019-03-04 13:41:10

标签: xamarin.forms

我正在运行时在网格内动态绘制控件。我想在用户轻按特定控件时清除所有子级。我有这个,但这只会删除RowDefinitions:

   var currentRow = Grid.GetRow((BindableObject)sender);
   for (int i = currentRow + 1; i < grdDynamic.RowDefinitions.Count; i++)
   {
       grdDynamic.RowDefinitions.RemoveAt(i);
   }

但是我需要清除那些RowDefinitions中的所有网格子项。

1 个答案:

答案 0 :(得分:0)

这应该删除网格中的子级,并以点击的行作为属性。

// get IDs to look for in CurrentLocation
var subQuery1 = QueryOver.Of<LocationEntity>()
    .Where(l => l.Name == LocationNameEnum.LA)
    .Select(x => x.Id);

// get IDs to look for in NextDestination
var subQuery2 = QueryOver.Of<LocationEntity>()
    .Where(l => l.Name == LocationNameEnum.CHG || l.Name == LocationNameEnum.NY)
    .Select(x => x.Id);

var poc = session.QueryOver<TruckEntity>()
    .Where(Restrictions.Disjunction() // this takes care of the OR
        .Add(Subqueries.WhereProperty<TruckEntity>(x => x.CurrentLocation.Id).In(subQuery1))
        .Add(Subqueries.WhereProperty<TruckEntity>(x => x.NextDestination.Id).In(subQuery2))
    )
    .List<TruckEntity>();

它将循环遍历网格中的所有子项,如果该子项的行等于所点击的行,则将其删除。