public WorkoutReviewPage(int profileID, int localUserGroupID) { InitializeComponent(); ViewModel = new ExistingMemberReviewPageViewModel(profileID, localUserGroupID); this.BindingContext = ViewModel; listView.ItemSelected += (sender, args) => { if (ViewModel.IsBusy == true) { return; } if (args.SelectedItem != null) { listView.SelectedItem = null; MemberExerciseViewModel exercise = (MemberExerciseViewModel)args.SelectedItem; //Uses session tracking Insights.Track("Clicked to review/edit member exercise", new Dictionary<string, string>() { { "exercise", exercise.Exercise.Exercisename }, { "exercise id", exercise.Exercise.ExerciseID.ToString () } }); ViewModel.AddedPageOrModalToNav = true; this.Navigation.PushAsync(new MemberExercisePage(exercise, true), true); } }; listView.ItemTapped += (object sender, ItemTappedEventArgs e) => { ((ListView)sender).SelectedItem = null; // de-select the row }; }
public ExistingMemberReviewPage (int profileID, int localUserGroupID) { this.Title = "Review Member Exercises"; ViewModel = new ExistingMemberReviewPageViewModel (profileID, localUserGroupID); var listView = new ListView(ListViewCachingStrategy.RetainElement); listView.ItemsSource = ViewModel.SimpleExerciseCollection; listView.VerticalOptions = LayoutOptions.FillAndExpand; listView.ItemTemplate = new DataTemplate (typeof(CustomMemberExerciseImageCell)); listView.ItemTemplate.SetBinding (ImageCell.TextProperty, "Identity"); listView.ItemTemplate.SetBinding (ImageCell.ImageSourceProperty, "ImageSource"); listView.RowHeight = Device.OnPlatform<int>(100,80,80); listView.ItemSelected += (sender, args) => { if (args.SelectedItem != null) { listView.SelectedItem = null; MemberExerciseViewModel exercise = (MemberExerciseViewModel)args.SelectedItem; //Uses session tracking Insights.Track ("Clicked to review/edit member exercise", new Dictionary<string, string> () { { "exercise", exercise.Exercise.Exercisename }, { "exercise id", exercise.Exercise.ExerciseID.ToString () } }); this.Navigation.PushAsync (new MemberExercisePage (exercise, true), true); } }; //Add menu item to add an exercise ToolbarItem addExerciseTemplateItem = new ToolbarItem { Text = "Add Exercise", Icon = Device.OnPlatform ("new.png", "ic_action_new", "Images/new.png"), Order = ToolbarItemOrder.Primary }; addExerciseTemplateItem.Clicked += async (sender, args) => { //Uses session tracking Insights.Track ("Clicked add exercise button in 'ExistingMemberReviewPage'", new Dictionary<string, string> () { }); await this.Navigation.PushAsync (new AddExerciseContainerPage ()); }; this.ToolbarItems.Add (addExerciseTemplateItem); this.Content = listView; }
public UserExerciseGroupsPage () { _viewModel = new UserExerciseGroupViewModel (); InitializeComponent (); this.BindingContext = _viewModel; listView.ItemTemplate = new DataTemplate (typeof(CustomViewUserExerciseGroup)); listView.ItemTemplate.SetBinding (CustomViewUserExerciseGroup.UserExerciseGroupViewModelProperty, "."); listView.ItemSelected += (sender, args) => { if (args.SelectedItem != null) { listView.SelectedItem = null; UserExerciseGroupViewModel userExerciseGroupViewModel = (UserExerciseGroupViewModel)args.SelectedItem; ExistingMemberReviewPageViewModel memberReviewPageViewModel = new ExistingMemberReviewPageViewModel(userExerciseGroupViewModel.SelectedUser.ProfileID, userExerciseGroupViewModel.ID); this.Navigation.PushAsync (new ExistingMemberReviewPage (memberReviewPageViewModel)); } }; }
//Commenting from source merge public CustomViewCellMemberTemplate () { var memberNameLabel = new Label { FontSize = 20, FontAttributes = FontAttributes.None, TextColor = (Color)Application.Current.Resources ["blueColor"] }; var phoneNumberLabel = new Label { FontAttributes = FontAttributes.None, TextColor = (Color)Application.Current.Resources ["lightBlueColor"], FontSize = 20 }; var templateNameLabel = new Label { FontAttributes = FontAttributes.None, TextColor = (Color)Application.Current.Resources ["lightBlueColor"], FontSize = 23 }; var reviewButton = new Button { Style = (Style)Application.Current.Resources ["reviewButtonStyleSmall"], VerticalOptions = LayoutOptions.Center }; reviewButton.Clicked += (sender, args) => { //Uses session tracking Insights.Track ("Clicked to view member exercises", new Dictionary<string, string> () { { "template", this.SimpleTemplate.TemplateName }, { "template id", this.SimpleTemplate.LocalUserExerciseGroupID.ToString () }, { "member profile id", this.SimpleTemplate.ProfileID.ToString () } }); ExistingMemberReviewPageViewModel existingMemberPageViewModel = new ExistingMemberReviewPageViewModel (this.SimpleTemplate.ProfileID, this.SimpleTemplate.LocalUserExerciseGroupID); this.ParentView.Navigation.PushAsync (new UserExerciseGroupsPage (existingMemberPageViewModel)); }; memberNameLabel.SetBinding (Label.TextProperty, "MemberName"); phoneNumberLabel.SetBinding (Label.TextProperty, "MemberPhoneNumber"); templateNameLabel.SetBinding (Label.TextProperty, "TemplateName"); var horizontalStackLayout = new StackLayout { Orientation = StackOrientation.Horizontal, Padding = new Thickness (0, 0, 10, 0) }; var namePhoneNumberStack = new StackLayout { Orientation = StackOrientation.Horizontal, Children = { memberNameLabel, phoneNumberLabel } }; var s = new StackLayout (); s.Children.Add (namePhoneNumberStack); s.Children.Add (templateNameLabel); s.Orientation = StackOrientation.Vertical; s.HorizontalOptions = LayoutOptions.StartAndExpand; s.VerticalOptions = LayoutOptions.CenterAndExpand; horizontalStackLayout.Children.Add (s); horizontalStackLayout.Children.Add (reviewButton); this.View = horizontalStackLayout; }