Exemple #1
0
        public LocalPage()
        {
            var navBarTemplate = (ControlTemplate)Application.Current.Resources["NavBarTemplate"];

            if (navBarTemplate != null)
            {
                var templatedView = new TemplatedView()
                {
                    ControlTemplate = navBarTemplate
                };

                NavigationPage.SetTitleView(this, templatedView);
                NavigationPage.SetHasBackButton(this, false);
            }
            BackCommand = new Command(() =>
            {
                var navstackcount = Navigation.NavigationStack.Count;
                if (navstackcount > 1)
                {
                    Debug.WriteLine(String.Format("Current stack count {0}", navstackcount));
                    var currentPage = Navigation.NavigationStack[navstackcount - 1];
                    Device.BeginInvokeOnMainThread(async() => await Navigation.PopAsync());
                }
            });
        }
Exemple #2
0
        public async Task ControlTemplateCanBeReplacedCorrectly()
        {
            var content1 = new Label {
                Text = "Content 1"
            };
            var controlTemplate1 = new ControlTemplate(() => content1);

            var content2 = new Label {
                Text = "Content 2"
            };
            var controlTemplate2 = new ControlTemplate(() => content2);

            var templatedView = new TemplatedView {
                ControlTemplate = controlTemplate1
            };

            var handler = await CreateHandlerAsync <ContentViewHandler>(templatedView);

            await InvokeOnMainThreadAsync(() =>
            {
                Assert.Equal(1, GetChildCount(handler));
                Assert.Equal(content1.Handler.PlatformView, GetChild(handler));

                templatedView.ControlTemplate = controlTemplate2;

                Assert.Equal(1, GetChildCount(handler));
                Assert.Equal(content2.Handler.PlatformView, GetChild(handler));
            });
        }
Exemple #3
0
        public void ShouldHaveTemplatedRootSet()
        {
            var tv = new TemplatedView();
            var ct = (IControlTemplated)tv;

            Assert.AreEqual(ct.TemplateRoot, null);

            tv.ControlTemplate = new ControlTemplate(typeof(ExpectedView));

            IList <Element> internalChildren = ct.InternalChildren;

            Assert.AreEqual(ct.TemplateRoot, internalChildren[0]);
        }
Exemple #4
0
        public void TemplatedView_should_have_the_InternalChildren_correctly_when_ControlTemplate_changed()
        {
            var             sut = new TemplatedView();
            IList <Element> internalChildren = ((IControlTemplated)sut).InternalChildren;

            internalChildren.Add(new VisualElement());
            internalChildren.Add(new VisualElement());
            internalChildren.Add(new VisualElement());

            sut.ControlTemplate = new ControlTemplate(typeof(ExpectedView));

            Assert.AreEqual(1, internalChildren.Count);
            Assert.IsInstanceOf <ExpectedView>(internalChildren[0]);
        }
Exemple #5
0
        public async Task ControlTemplateInitializesCorrectly()
        {
            var content = new Label {
                Text = "Content 1"
            };
            var templatedView = new TemplatedView
            {
                ControlTemplate = new ControlTemplate(() => content)
            };

            var handler = await CreateHandlerAsync <ContentViewHandler>(templatedView);

            await InvokeOnMainThreadAsync(() =>
            {
                Assert.Equal(1, GetChildCount(handler));
                Assert.Equal(content.Handler.PlatformView, GetChild(handler));
            });
        }
 public void ApplyTemplate(TemplatedView view, ITabPage tab)
 {
     view.ControlTemplate = GetTemplate(tab);
     //var bc = view.BindingContext;
 }