Пример #1
0
        protected override IEnumerable <PageControlBase> CreateItems()
        {
            var containerPageControl = new PageControlContainer(ID, 0, ContainerType.GetValueOrDefault(PageControlContainerType.ContentArea));

            containerPageControl.Properties.CaptionML.Set(CaptionML);
            containerPageControl.Properties.Description = Description;
            containerPageControl.Properties.Name        = Name;
            containerPageControl.AutoCaption(AutoCaption);
            yield return(containerPageControl);

            var variables = new List <PSVariable>()
            {
                new PSVariable("ControlIndentation", 1)
            };
            var subObjects = SubObjects?
                             .InvokeWithContext(null, variables)
                             .Select(o => o.BaseObject)
                             .Cast <PageControlBase>()
                             ?? Enumerable.Empty <PageControlBase>();

            foreach (var childControl in subObjects)
            {
                yield return(childControl);
            }
        }
        protected override IEnumerable<PageActionBase> CreateItems()
        {
            var pageActionContainer = new PageActionContainer(0, ID, ContainerType.GetValueOrDefault(PageActionContainerType.ActionItems));
            pageActionContainer.Properties.CaptionML.Set(CaptionML);
            pageActionContainer.Properties.Description = Description;
            pageActionContainer.Properties.Name = Name;
#if NAV2016
            pageActionContainer.Properties.ToolTipML.Set(ToolTipML);
#endif

            yield return pageActionContainer;

            if (ChildActions != null)
            {
                var variables = new List<PSVariable>() { new PSVariable("ActionIndentation", 1) };
                var childActions = ChildActions
                    .InvokeWithContext(null, variables)
                    .Select(o => o.BaseObject)
                    .Cast<PageActionBase>();

                foreach (var childAction in childActions)
                {
                    yield return childAction;
                }
            }

        }