Ejemplo n.º 1
0
        public MainPage()
        {
            InitializeComponent();
            toolbarItems = new ToolbarItem[ToolbarItems.Count];
            ToolbarItems.CopyTo(toolbarItems, 0);
            tapGesture              = new TapGestureRecognizer();
            tapGesture.Command      = new Command(async() => await Navigation.PushModalAsync(rgn));
            listView.BindingContext = viewModel;
            NewsInfo info = NewsInfo.Deserialize((string)Application.Current.Properties["Inf"]);

            if (info == rgn.SelectedInfo)
            {
                RegionProc(true);
            }
            toolBarItemSelected = info;
            viewModel.LoadAsync(info).ContinueWith((b) =>
            {
                if (b.Result)
                {
                    return;
                }
                else
                {
                    Exit();
                }
            });
        }
Ejemplo n.º 2
0
        private async void OnToolbarItemClicked(object sender, EventArgs e)
        {
            NewsInfo        info;
            NewsToolbarItem tItem = (NewsToolbarItem)sender;

            if (tItem.Description == "rgn")
            {
                info = rgn.SelectedInfo;
                RegionProc(true);
            }
            else
            {
                info = new NewsInfo {
                    Address = tItem.Address, Description = tItem.Description
                };
                RegionProc(false);
            }
            if (toolBarItemSelected == info)
            {
                return;
            }
            toolBarItemSelected = info;
            if (!await viewModel.LoadAsync(info))
            {
                Exit();
                return;
            }
            Application.Current.Properties["Inf"] = NewsInfo.Serialize(info);
            await Application.Current.SavePropertiesAsync();

            listView.ScrollTo(((RSSItem[])listView.ItemsSource).First(), ScrollToPosition.End, true);
        }
Ejemplo n.º 3
0
        private async void RgnItemTaped(object sender, ItemTappedEventArgs e)
        {
            ListView list = (ListView)sender;

            SelectedInfo      = (NewsInfo)list.SelectedItem;
            list.SelectedItem = null;
            ((MainPage)((NavigationPage)Application.Current.MainPage).RootPage).viewModel.LoadAsync(SelectedInfo);
            Application.Current.Properties["Inf"] = Application.Current.Properties["Rgn"] = NewsInfo.Serialize(SelectedInfo);
            await Application.Current.SavePropertiesAsync();

            await Navigation.PopModalAsync();
        }
Ejemplo n.º 4
0
 public App()
 {
     InitializeComponent();
     if (!Properties.ContainsKey("Inf"))
     {
         Properties.Add("Inf", NewsInfo.Serialize(new NewsInfo {
             Address = "https://news.yandex.ru/index.rss", Description = "Главное"
         }));
     }
     if (!Properties.ContainsKey("Rgn"))
     {
         Properties.Add("Rgn", NewsInfo.Serialize(new NewsInfo {
             Address = "https://news.yandex.ru/Barnaul/index.rss", Description = "Алтайский край"
         }));
     }
     MainPage = new NavigationPage(new MainPage());
 }
Ejemplo n.º 5
0
 public Region()
 {
     InitializeComponent();
     SelectedInfo = NewsInfo.Deserialize((string)Application.Current.Properties["Rgn"]);
 }