Skip to content

Instantly share code, notes, and snippets.

@bogdanbujdea
Last active December 18, 2015 11:38
Show Gist options
  • Select an option

  • Save bogdanbujdea/5776657 to your computer and use it in GitHub Desktop.

Select an option

Save bogdanbujdea/5776657 to your computer and use it in GitHub Desktop.
Full share contract snippet
#region ShareContract
protected override void OnNavigatedFrom(Windows.UI.Xaml.Navigation.NavigationEventArgs e)
{
base.OnNavigatedFrom(e);
UnregisterForShare();
}
protected override void OnNavigatedTo(Windows.UI.Xaml.Navigation.NavigationEventArgs e)
{
base.OnNavigatedTo(e);
RegisterForShare();
}
private void RegisterForShare()
{
DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView();
dataTransferManager.DataRequested += ShareStorageItemsHandler;
}
private void UnregisterForShare()
{
DataTransferManager dataTransferManager = DataTransferManager.GetForCurrentView();
dataTransferManager.DataRequested -= ShareStorageItemsHandler;
}
private async void ShareStorageItemsHandler(DataTransferManager sender, DataRequestedEventArgs e)
{
DataRequest request = e.Request;
request.Data.Properties.Title = "Share this text";
request.Data.Properties.Description = "Choose an app from the list below";
DataRequestDeferral deferral = request.GetDeferral();
try
{
request.Data.SetText("Hello World!");
}
catch (Exception)
{
e.Request.FailWithDisplayText("Something went wrong and we can't share right now. Please try again!");
}
finally
{
deferral.Complete();
}
}
#endregion
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment