public BookmarksPage() : base() { InitializeComponent(); Xamarin.Forms.PlatformConfiguration.iOSSpecific.Page.SetUseSafeArea(this, true); BindingContext = new BookmarksViewModel(); var cancel = new ToolbarItem { Text = "添加", Command = new Command(async() => { await NavigationService.PushAsync(Navigation, new BookmarksEditPage(new Bookmarks(), new Action <Bookmarks>(OnResult))); }) }; ToolbarItems.Add(cancel); if (Device.Android == Device.RuntimePlatform) { cancel.Icon = "toolbar_add.png"; } this.BookmarksListView.ItemSelected += async delegate { var bookmarks = BookmarksListView.SelectedItem as Bookmarks; if (bookmarks == null) { return; } var bookmarksDetailsPage = new BookmarksDetailsPage(bookmarks); await NavigationService.PushAsync(Navigation, bookmarksDetailsPage); this.BookmarksListView.SelectedItem = null; }; }
protected override void OnAppearing() { base.OnAppearing(); if (!hasInitialization) { BindingContext = new BookmarksViewModel(); this.BookmarksListView.ItemSelected += async delegate { var bookmarks = BookmarksListView.SelectedItem as Bookmarks; this.BookmarksListView.SelectedItem = null; if (bookmarks == null) { return; } var bookmarksDetailsPage = new BookmarksDetailsPage(bookmarks); await NavigationService.PushAsync(Navigation, bookmarksDetailsPage); }; hasInitialization = true; } UpdatePage(); }