/// <summary> /// Create cells for the provided state view. /// </summary> /// <param name="context">Context used to build the cell view tree.</param> /// <param name="parentCellView">The parent cell view.</param> public override IFrameCellView BuildNodeCells(IFrameCellViewTreeContext context, IFrameCellViewCollection parentCellView) { ((IFocusCellViewTreeContext)context).UpdateNodeFrameVisibility(this, out bool OldFrameVisibility); IFocusCellView Result; if (((IFocusCellViewTreeContext)context).IsVisible) { Result = base.BuildNodeCells(context, parentCellView) as IFocusCellView; } else { IFocusEmptyCellView EmptyCellView = CreateEmptyCellView(((IFocusCellViewTreeContext)context).StateView, (IFocusCellViewCollection)parentCellView); ValidateEmptyCellView((IFocusCellViewTreeContext)context, EmptyCellView); Result = EmptyCellView; } ((IFocusCellViewTreeContext)context).RestoreFrameVisibility(OldFrameVisibility); return(Result); }
private protected virtual void ValidateEmptyCellView(IFocusCellViewTreeContext context, IFocusEmptyCellView emptyCellView) { Debug.Assert(emptyCellView.StateView == context.StateView); IFocusCellViewCollection ParentCellView = emptyCellView.ParentCellView; }
private protected override void ValidateEmptyCellView(IFocusCellViewTreeContext context, IFocusEmptyCellView emptyCellView) { Debug.Assert(((ILayoutEmptyCellView)emptyCellView).StateView == ((ILayoutCellViewTreeContext)context).StateView); ILayoutCellViewCollection ParentCellView = ((ILayoutEmptyCellView)emptyCellView).ParentCellView; }