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()); } }); }
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)); }); }
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]); }
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]); }
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; }