// Channel column functions
 private async void ChannelListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
 {
     try
     {
         UserInfo.Visibility = Visibility.Collapsed;
         var item = (Channel)ChannelListView.SelectedItem;
         if (item.IsText == Visibility.Visible)
         {
             ChannelTitle.Text           = item.ID.ToString();
             RightColumnStack.Visibility = Visibility.Visible;
             chatViewModel.Messages.Clear();
             memberViewModel.Members.Clear();
             await Task.Run(() =>
             {
                 foreach (Message m in item.Messages)
                 {
                     chatViewModel.AddText(m);
                 }
                 foreach (Member m in item.Members)
                 {
                     memberViewModel.AddMember(m);
                 }
                 Application.Current.Dispatcher.Invoke(new Action(() =>
                 {
                     ChatListView.ScrollIntoView(chatViewModel.Messages[chatViewModel.Messages.Count() - 1]);
                 }));
             });
         }
         else
         {
             try
             {
                 ChannelListView.SelectedItem = e.RemovedItems[0];
             }
             catch (Exception)
             {
                 ChannelListView.SelectedItem = null;
             }
         }
     }
     catch (Exception)
     {
         //TextChannelGrid.Visibility = Visibility.Collapsed;
     }
 }