public void SelectCategory(int category) { CategoriesListBox.Select(CategoriesListBox.Items[category]); }
public FeedView() { InitializeComponent(); DataContextChanged += (a, args) => ViewModel = args.NewValue as FeedViewModel; this.WhenActivated(disposables => { this.OneWayBind(ViewModel, viewModel => viewModel.IsEmpty, view => view.ShowCategoriesButton.Visibility, empty => empty ? Visibility.Collapsed : Visibility.Visible) .DisposeWith(disposables); this.Bind(ViewModel, viewModel => viewModel.Selection, view => view.CategoriesListBox.SelectedItem) .DisposeWith(disposables); this.OneWayBind(ViewModel, viewModel => viewModel.Items, view => view.CategoriesListBox.ItemsSource) .DisposeWith(disposables); CategoriesListBox.Events().Tapped .Select(args => VisualTreeHelper.GetOpenPopups(Window.Current)) .SelectMany(popups => popups) .Where(popup => popup.IsOpen) .Subscribe(popup => popup.IsOpen = false) .DisposeWith(disposables); this.BindCommand(ViewModel, viewModel => viewModel.Load, view => view.RefreshCategories) .DisposeWith(disposables); this.OneWayBind(ViewModel, viewModel => viewModel.Items, view => view.CategoriesPivot.ItemsSource) .DisposeWith(disposables); this.Bind(ViewModel, viewModel => viewModel.Selection, view => view.CategoriesPivot.SelectedItem) .DisposeWith(disposables); this.OneWayBind(ViewModel, viewModel => viewModel.IsLoading, view => view.LoadingScreen.IsActive) .DisposeWith(disposables); this.OneWayBind(ViewModel, viewModel => viewModel.HasErrors, view => view.HasErrorsScreen.IsVisible) .DisposeWith(disposables); this.OneWayBind(ViewModel, viewModel => viewModel.Load, view => view.HasErrorsScreen.Command) .DisposeWith(disposables); this.OneWayBind(ViewModel, viewModel => viewModel.IsEmpty, view => view.ModifyScreen.IsVisible) .DisposeWith(disposables); this.OneWayBind(ViewModel, viewModel => viewModel.Modify, view => view.ModifyScreen.Command) .DisposeWith(disposables); }); }