private async void MessageControl_OnImageMessageClick(WtMessage.Message message) { var data = new ImageViewerData { SelectedItem = UtilityTool.GetS3FileUrl(message.Body.Attachment.Id), ItemSource = ViewModel.Messages .Where(m => m.Type == WtMessage.MessageType.Image) .Select(m => UtilityTool.GetS3FileUrl(m.Body.Attachment.Id)) .ToList() }; CoreApplicationView newView = CoreApplication.CreateNewView(); int newViewId = 0; await newView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, () => { Frame frame = new Frame(); frame.Navigate(typeof(ImageViewerPage), data); Window.Current.Content = frame; Window.Current.Activate(); newViewId = ApplicationView.GetForCurrentView().Id; }); await ApplicationViewSwitcher.TryShowAsStandaloneAsync(newViewId); }
public static void CompleteMessageFrom(this WtMessage.Message msg) { if (msg.From.Type == WtMessage.FromType.Service) { var service = MainViewModel.Services.Single(u => u.Id == msg.From.Uid); msg.From.Avatar = service.Avatar; msg.From.DisplayName = service.DisplayName; } else { var member = MainViewModel.Members.Single(u => u.Id == msg.From.Uid); msg.From.Avatar = member.Avatar; msg.From.DisplayName = member.DisplayName; } }