/// <summary> /// Initialize items that require the page to be /// completely loaded. /// </summary> private void PageLoaded() { PostTuple.SetViewCommand(viewModel.ViewCommand); if (ApplicationBar.Buttons.Count == 0) ApplicationBar.Buttons.Add(new AppBarButton { IconUri = new Uri("/Assets/SDK/favs.addto.png", UriKind.Relative), Text = "bookmark", Command = viewModel.BookmarkCommand }); if (ApplicationBar.MenuItems.Count == 0) { ApplicationBar.MenuItems.Add(new AppBarMenuItem { Text = "settings", Command = viewModel.SettingsCommand }); ApplicationBar.MenuItems.Add(new AppBarMenuItem { Text = "logout", Command = viewModel.LogoutCommand }); } infinityDaemon = new ListViewInfinityDaemon(SearchResultList, 60, viewModel.LoadPageCommand); PostTuple.SetViewCommand(viewModel.ViewCommand); // Load search results if not already searching if (NavigationHelper.NavigationArgument != null) { String query = NavigationHelper.NavigationArgument as String; if (query != null) { query = query.Replace("+", " "); viewModel.SearchString = query; SearchBox.Text = query; Focus(); viewModel.SearchCommand.Execute(null); } } }
public HomeView() { InitializeComponent(); // Create ViewModel viewModel = new HomeViewModel(this); viewModel.ChangeState += (@s, e) => { if (e.State == HomeViewModel.LogoutState) { if (MessageBox.Show("Are you sure you want to log out?", "O!Pix Log Out", MessageBoxButton.OKCancel) == MessageBoxResult.OK) Session.Instance.LogOut(); } else if (e.State == HomeViewModel.FavChangedState) { // Show or hide the "No Favorite" prompt NoFavTextBlock.Visibility = viewModel.Favorites.Count == 0 ? Visibility.Visible : Visibility.Collapsed; }else VisualStateManager.GoToState(this, e.State, e.Transition); }; DataContext = viewModel; // Load Appropriate Banner String bannerUrl = App.IsInDarkTheme() ? "/Assets/application-banner-dark.png" : "/Assets/application-banner-light.png"; BitmapImage bannerSrc = new BitmapImage(new Uri(bannerUrl, UriKind.Relative)); Panorama.Title = bannerSrc; // Page Loaded Handler Loaded += (@s, e) => PageLoaded(); // App Bar Handler Panorama.SelectionChanged += (@s, e) => UpdateAppBarButtons(); // Initialize Infinity Daemons NewPostList.Loaded += (@s, e) => { newPostInfinityDaemon = new ListViewInfinityDaemon(NewPostList, 60, viewModel.LoadNewPostsCommand); }; FavoriteList.Loaded += (@s, e) => { favPostInfinityDaemon = new ListViewInfinityDaemon(FavoriteList, 60, viewModel.LoadFavoritePostsCommand); }; // Set up App Bar Buttons whatsNewAppbarButtons = new ApplicationBarIconButton[] { new AppBarButton { IconUri = new Uri("/Assets/SDK/feature.search.png", UriKind.Relative), Text = "search", Command = viewModel.SearchCommand } }; favoriteAppbarButtons = new ApplicationBarIconButton[] { }; subscriptionAppbarButtons = new ApplicationBarIconButton[] { new AppBarButton { IconUri = new Uri("/Assets/SDK/add.png", UriKind.Relative), Text = "add new", Command = viewModel.SearchCommand }, new AppBarButton { IconUri = new Uri("/Assets/SDK/refresh.png", UriKind.Relative), Text = "refresh", Command = viewModel.SearchCommand } }; profileAppbarButtons = new ApplicationBarIconButton[] { }; }