Exemplo n.º 1
0
        public FrameworkElement Build(Func <FormElement, FrameworkElement> elementBuilder)
        {
            var panel = new ActionPanel
            {
                Margin = new Thickness(0d, Top, 0d, Bottom)
            };

            foreach (var element in Elements)
            {
                if (element is FormElementLayout formElementLayout)
                {
                    var contentPresenter = elementBuilder(formElementLayout.Element);
                    ActionPanel.SetPosition(contentPresenter, formElementLayout.Element.LinePosition);
                    panel.Children.Add(contentPresenter);
                }
                else
                {
                    panel.Children.Add(element.Build(elementBuilder));
                }
            }

            return(panel);
        }