コード例 #1
0
        /// <summary>
        /// Нажатие кнопки Поиск
        /// </summary>
        private async void Search_Click(object sender, EventArgs e)
        {
            SearchQueryPage page = new SearchQueryPage(context.SearchContext);

            await Navigation.PushModalAsync(page, true);

            App.Current.ModalPopping += HandleModalPopping;
        }
コード例 #2
0
        /// <summary>
        /// Перехват возврата из модальной страницы
        /// </summary>
        public void HandleModalPopping(object sender, ModalPoppingEventArgs e)
        {
            if (e.Modal is SearchQueryPage)
            {
                SearchQueryPage page = e.Modal as SearchQueryPage;

                if (page.SearchQuery != string.Empty)
                {
                    context.SearchContext = page.SearchContext;
                    context.DoSearch(page.SearchQuery);
                }

                App.Current.ModalPopping -= HandleModalPopping;
            }
            else if (context.Mode == PageMode.Url && context.Items == null || context.Items.Count == 0)
            {
                try
                {
                    carrouselPage.CurrentPage = carrouselPage.Children[1];
                }
                catch { }

                App.Current.ModalPopping -= HandleModalPopping;

                // Открыть корневую структуру
                if (context.UrlItem == null)
                {
                    context.GetRootObjects(true);
                }
                // Открыть структуру головного объекта
                else
                {
                    context.OpenParentStructure();
                }
            }
        }