public async Task ShareAsync(ShareOperation shareOperation) { _shareOperation = shareOperation; shareOperation.ReportStarted(); var dataPackageView = shareOperation.Data; RequestTitle = shareOperation.Data.Properties.Title; RequestDescription = shareOperation.Data.Properties.Description; try { if ( dataPackageView.IsTextMessage() ) { IsTextRequest = true; TextShareValue = await dataPackageView.GetTextAsync(); } else if (dataPackageView.IsUrlMessage()) { IsUrlRequest = true; var foundUri = await dataPackageView.GetUriAsync(); UrlShareValue = foundUri.AbsoluteUri; } else if (dataPackageView.IsStorageItemsMessage()) { IsStorageRequest = true; var storageItems = await dataPackageView.GetStorageItemsAsync(); if ( storageItems.Any()) { var storageItem = storageItems.First(); if ( storageItem.IsOfType(StorageItemTypes.File)) { StorageFileName = storageItem.Name; var thumbNail = dataPackageView.Properties.Thumbnail; var thumbnailStream = await thumbNail.OpenReadAsync(); ImageShareValue = new BitmapImage(); ImageShareValue.SetSource(thumbnailStream); } } } else if (dataPackageView.IsImageMessage()) { IsImageRequest = true; var imageRecieved = await dataPackageView.GetBitmapAsync(); var imageStream = await imageRecieved.OpenReadAsync(); ImageShareValue = new BitmapImage(); ImageShareValue.SetSource(imageStream); } } catch (Exception e) { shareOperation.ReportError(e.Message); RequestDescription = e.Message; } shareOperation.ReportDataRetrieved(); }
public async void Initialize(ShareOperation share) { _share = share; _share.ReportStarted(); await _share.Data.CopyTo(_values); _share.ReportDataRetrieved(); }