protected async override void OnActivated(IActivatedEventArgs args) { base.OnActivated(args); var continuationEventArgs = args as IContinuationActivatedEventArgs; if (continuationEventArgs != null) { switch (continuationEventArgs.Kind) { case ActivationKind.PickFileContinuation: FileOpenPickerContinuationEventArgs arguments = continuationEventArgs as FileOpenPickerContinuationEventArgs; StorageFile file = arguments.Files.FirstOrDefault(); var messenger = Mvx.Resolve<IMvxMessenger>(); using (var imgStream = await file.OpenAsync(FileAccessMode.Read)) { var buffer = new byte[imgStream.Size]; await imgStream.ReadAsync(buffer.AsBuffer(), (uint)imgStream.Size, InputStreamOptions.None); var properties = await file.Properties.GetImagePropertiesAsync(); var message = new PictureMessage(this) { Width = properties.Width, Height = properties.Height, Picture = buffer }; messenger.Publish(message); } break; } } }
async Task OnPictureReceivedAsync(PictureMessage message) { var nutritionTable = await OCRService.GetTableAsync(message.Picture, message.Width, message.Height); ShowViewModel<InfoViewModel>(nutritionTable); }