/// <summary> /// Shows/hides the join, and leave buttons. /// </summary> void SetJoinLeaveButtonVisibility() { GroupBindingWrapper wrapper = (GroupBindingWrapper)DataContext; wrapper.JoinButtonVisibility = Visibility.Collapsed; wrapper.LeaveButtonVisibility = Visibility.Collapsed; ObservableCollection <string> users = (ObservableCollection <string>)UsersOfGroupListBox.ItemsSource; User currentUser = ArcGISOnlineEnvironment.ArcGISOnline.User.Current; if (currentUser != null && currentUser.Username != OwnerTextBlock.Text) { foreach (string user in users) { if (user == currentUser.Username) //current user is already member of group { wrapper.LeaveButtonVisibility = Visibility.Visible; break; } } if (wrapper.Content.IsInvitationOnly) { wrapper.JoinButtonVisibility = Visibility.Collapsed; //don't show join button if group is set for joining by invitation only } else { wrapper.JoinButtonVisibility = wrapper.LeaveButtonVisibility == Visibility.Collapsed ? Visibility.Visible : Visibility.Collapsed; } } }
/// <summary> /// Activates the control. /// </summary> public void Activate(Group group) { if (MapDetailsControl == null) { pendingActivation = group; return; } pendingActivation = null; GroupBindingWrapper wrapper = new GroupBindingWrapper() { EditButtonVisibility = Visibility.Collapsed }; DataContext = wrapper; wrapper.Content = group; wrapper.EditButtonVisibility = CanEdit ? Visibility.Visible : Visibility.Collapsed; if (Tab.SelectedIndex == 0 || Tab.SelectedIndex == 3) { MapDetailsControl.Visibility = Visibility.Collapsed; } else { MapDetailsControl.DataContext = null; } //initializes the tab control // Tab_SelectionChanged(null, null); //get the members of the group // ArcGISOnlineEnvironment.ArcGISOnline.Group.GetMembers(group.Id, GetGroupMembersCompleted); }
/// <summary> /// Refreshes the page. /// </summary> void Refresh() { GroupBindingWrapper wrapper = (GroupBindingWrapper)DataContext; ArcGISOnlineEnvironment.ArcGISOnline.Group.GetGroup(wrapper.Content.Id, (object sender, GroupEventArgs e) => { wrapper.Content = e.Group; //initializes the tab control Tab_SelectionChanged(null, null); //raise event RaiseGroupDetailsChanged(e.Group); }); }
/// <summary> /// Occurs when the user signs in or out from AGOL. /// </summary> void ArcGISOnline_SignedInOut(object sender, EventArgs e) { GroupBindingWrapper wrapper = DataContext as GroupBindingWrapper; if (wrapper == null) { return; } //show/hide edit icons // wrapper.EditButtonVisibility = CanEdit ? Visibility.Visible : Visibility.Collapsed; //show/hide join, invite and leave button // SetJoinLeaveButtonVisibility(); //reinitialize tab // Tab_SelectionChanged(null, null); }