2015-07-06 2 views
0

Я хотел бы поделиться имиджем в своем приложении. Однако изображение не находится в папке, но оно «выполняется динамически». В принципе у меня есть объект ImageОбмен изображениями в Windows Phone 8.1

Image i = new Image() { Source = await CreateBitmapFromElement(stackpanel1) }; 

где определяется CreateBitmapFromElement следующего

private async Task<RenderTargetBitmap> CreateBitmapFromElement(FrameworkElement uielement) 
{ 
    try 
    { 
     var renderTargetBitmap = new RenderTargetBitmap(); 
     await renderTargetBitmap.RenderAsync(uielement); 
     return renderTargetBitmap; 
    } 
    catch (Exception ex) 
    { 
     System.Diagnostics.Debug.WriteLine(ex); 
    } 
    return null; 
} 

The Phone Доля контракт для Windows позволяет обмениваться изображениями, расположенные в библиотеке изображения (например), но то, что я должен использовать в этом случае?

ответ

0
 protected override void OnNavigatedTo(NavigationEventArgs e) 
      { 
       DataTransferManager.GetForCurrentView().DataRequested += OnShareDataRequested; 
       base.OnNavigatedTo(e); 

      } 

      protected override void OnNavigatedFrom(NavigationEventArgs e) 
      { 
       DataTransferManager.GetForCurrentView().DataRequested -= OnShareDataRequested; 
       base.OnNavigatedFrom(e); 
      } 

private void OnShareDataRequested(DataTransferManager sender, DataRequestedEventArgs _dataRequestedEventArgs) 
     { 


      DataRequest request = _dataRequestedEventArgs.Request; 
      request.Data.Properties.Title = "KeyTreat Sticker"; 
      request.Data.Properties.Description = "KeyTreat Sticker: " + StickerName; 

      // Because we are making async calls in the DataRequested event handler, 
      // we need to get the deferral first. 
      DataRequestDeferral deferral = request.GetDeferral(); 

      // Make sure we always call Complete on the deferral. 
      try 
      { 
       request.Data.SetStorageItems(storageItemsObject); 

       request.Data.Properties.Thumbnail = RandomAccessStreamReference.CreateFromFile(StorageFileObject); 
       request.Data.SetBitmap(RandomAccessStreamReference.CreateFromFile(StorageFileObject)); 
      } 
      finally 
      { 
       deferral.Complete(); 
      } 



     }