diff options
Diffstat (limited to 'Xamarin.Forms.Platform.Tizen/Renderers/NavigationPageRenderer.cs')
-rw-r--r-- | Xamarin.Forms.Platform.Tizen/Renderers/NavigationPageRenderer.cs | 56 |
1 files changed, 33 insertions, 23 deletions
diff --git a/Xamarin.Forms.Platform.Tizen/Renderers/NavigationPageRenderer.cs b/Xamarin.Forms.Platform.Tizen/Renderers/NavigationPageRenderer.cs index 36f199d0..7a2f7326 100644 --- a/Xamarin.Forms.Platform.Tizen/Renderers/NavigationPageRenderer.cs +++ b/Xamarin.Forms.Platform.Tizen/Renderers/NavigationPageRenderer.cs @@ -43,7 +43,17 @@ namespace Xamarin.Forms.Platform.Tizen protected override void Dispose(bool disposing) { - _naviFrame.AnimationFinished -= AnimationFinishedHandler; + if (disposing) + { + if (_naviFrame != null) + { + _naviFrame.AnimationFinished -= OnAnimationFinished; + } + if (_toolbarTracker != null) + { + _toolbarTracker.CollectionChanged -= OnToolbarCollectionChanged; + } + } base.Dispose(disposing); } @@ -54,7 +64,7 @@ namespace Xamarin.Forms.Platform.Tizen _naviFrame = new Naviframe(Forms.Context.MainWindow); _naviFrame.PreserveContentOnPop = true; _naviFrame.DefaultBackButtonEnabled = true; - _naviFrame.AnimationFinished += AnimationFinishedHandler; + _naviFrame.AnimationFinished += OnAnimationFinished; SetNativeControl(_naviFrame); } @@ -62,33 +72,33 @@ namespace Xamarin.Forms.Platform.Tizen if (_toolbarTracker == null) { _toolbarTracker = new ToolbarTracker(); - _toolbarTracker.CollectionChanged += ToolbarTrackerOnCollectionChanged; + _toolbarTracker.CollectionChanged += OnToolbarCollectionChanged; } if (e.OldElement != null) { var navigation = e.OldElement as INavigationPageController; - navigation.PopRequested -= PopRequestedHandler; - navigation.PopToRootRequested -= PopToRootRequestedHandler; - navigation.PushRequested -= PushRequestedHandler; - navigation.RemovePageRequested -= RemovePageRequestedHandler; - navigation.InsertPageBeforeRequested -= InsertPageBeforeRequestedHandler; + navigation.PopRequested -= OnPopRequested; + navigation.PopToRootRequested -= OnPopToRootRequested; + navigation.PushRequested -= OnPushRequested; + navigation.RemovePageRequested -= OnRemovePageRequested; + navigation.InsertPageBeforeRequested -= OnInsertPageBeforeRequested; var pageController = e.OldElement as IPageController; - pageController.InternalChildren.CollectionChanged -= PageCollectionChangedHandler; + pageController.InternalChildren.CollectionChanged -= OnPageCollectionChanged; } if (e.NewElement != null) { var navigation = e.NewElement as INavigationPageController; - navigation.PopRequested += PopRequestedHandler; - navigation.PopToRootRequested += PopToRootRequestedHandler; - navigation.PushRequested += PushRequestedHandler; - navigation.RemovePageRequested += RemovePageRequestedHandler; - navigation.InsertPageBeforeRequested += InsertPageBeforeRequestedHandler; + navigation.PopRequested += OnPopRequested; + navigation.PopToRootRequested += OnPopToRootRequested; + navigation.PushRequested += OnPushRequested; + navigation.RemovePageRequested += OnRemovePageRequested; + navigation.InsertPageBeforeRequested += OnInsertPageBeforeRequested; var pageController = e.NewElement as IPageController; - pageController.InternalChildren.CollectionChanged += PageCollectionChangedHandler; + pageController.InternalChildren.CollectionChanged += OnPageCollectionChanged; foreach (Page page in pageController.InternalChildren) { @@ -128,7 +138,7 @@ namespace Xamarin.Forms.Platform.Tizen } - void PageCollectionChangedHandler(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) + void OnPageCollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e) { if (e.OldItems != null) foreach (Page page in e.OldItems) @@ -138,7 +148,7 @@ namespace Xamarin.Forms.Platform.Tizen page.PropertyChanged += NavigationBarPropertyChangedHandler; } - void ToolbarTrackerOnCollectionChanged(object sender, EventArgs eventArgs) + void OnToolbarCollectionChanged(object sender, EventArgs eventArgs) { UpdateToolbarItem(Element.CurrentPage); } @@ -375,7 +385,7 @@ namespace Xamarin.Forms.Platform.Tizen return toolbar; } - void PopRequestedHandler(object sender, NavigationRequestedEventArgs nre) + void OnPopRequested(object sender, NavigationRequestedEventArgs nre) { if ((Element as IPageController).InternalChildren.Count == _naviFrame.NavigationStack.Count) { @@ -397,7 +407,7 @@ namespace Xamarin.Forms.Platform.Tizen } } - void PopToRootRequestedHandler(object sender, NavigationRequestedEventArgs nre) + void OnPopToRootRequested(object sender, NavigationRequestedEventArgs nre) { List<NaviItem> copyOfStack = new List<NaviItem>(_naviFrame.NavigationStack); copyOfStack.Reverse(); @@ -423,7 +433,7 @@ namespace Xamarin.Forms.Platform.Tizen } } - void PushRequestedHandler(object sender, NavigationRequestedEventArgs nre) + void OnPushRequested(object sender, NavigationRequestedEventArgs nre) { if (nre.Animated || _naviFrame.NavigationStack.Count == 0) { @@ -441,12 +451,12 @@ namespace Xamarin.Forms.Platform.Tizen UpdateHasNavigationBar(nre.Page); } - void RemovePageRequestedHandler(object sender, NavigationRequestedEventArgs nre) + void OnRemovePageRequested(object sender, NavigationRequestedEventArgs nre) { GetNaviItemForPage(nre.Page).Delete(); } - void InsertPageBeforeRequestedHandler(object sender, NavigationRequestedEventArgs nre) + void OnInsertPageBeforeRequested(object sender, NavigationRequestedEventArgs nre) { if (nre.BeforePage == null) throw new ArgumentNullException("before"); @@ -458,7 +468,7 @@ namespace Xamarin.Forms.Platform.Tizen UpdateHasNavigationBar(nre.Page); } - void AnimationFinishedHandler(object sender, EventArgs e) + void OnAnimationFinished(object sender, EventArgs e) { CompleteCurrentNavigationTask(); } |