Exemple #1
0
        FrameworkElement CreateView(object item)
        {
            Xamarin.Forms.View formsView = null;
            var bindingContext           = item;

            var dt = bindingContext as Xamarin.Forms.DataTemplate;

            // Support for List<DataTemplate> as ItemsSource
            if (dt != null)
            {
                formsView = (Xamarin.Forms.View)dt.CreateContent();
            }
            else
            {
                var selector = Element.ItemTemplate as Xamarin.Forms.DataTemplateSelector;
                if (selector != null)
                {
                    formsView = (Xamarin.Forms.View)selector.SelectTemplate(bindingContext, Element).CreateContent();
                }
                else
                {
                    formsView = (Xamarin.Forms.View)Element.ItemTemplate.CreateContent();
                }

                formsView.BindingContext = bindingContext;
            }

            formsView.Parent = this.Element;

            var element = formsView.ToWindows(new Xamarin.Forms.Rectangle(0, 0, ElementWidth, ElementHeight));

            return(element);
        }