Exemplo n.º 1
0
        protected virtual DataTemplate GetTemplateFor(object item)
        {
            var template = ItemTemplate;

            if (TemplateSelector != null)
            {
                template = TemplateSelector.SelectTemplate(item, null);
            }
            return(template);
        }
Exemplo n.º 2
0
        private void UpdateContent()
        {
            if (BindingContext == null || TemplateSelector == null)
            {
                return;
            }

            var template = TemplateSelector.SelectTemplate(SelectorItem ?? BindingContext, this);

            Content = template.CreateContent() as View;
        }
Exemplo n.º 3
0
        public void LoadContent()
        {
            if (TemplateSelector == null)
            {
                TemplateSelector = (AsyncLoadStateTemplateSelector)Resources["DefaultAsyncLoadStateTemplateSelector"];
            }
            var tempContent = (FrameworkElement)TemplateSelector.SelectTemplate(this, this).LoadContent();

            // 仅在有错误的情况下,设置DataContext以便于错误页的信息展示
            if (ErrorMessage != null && ErrorMessage.Length > 0)
            {
                tempContent.SetValue(FrameworkElement.DataContextProperty, this);
            }
            Content = tempContent;
        }