void OnDataRequested(DataTransferManager sender, SettableDataRequestedEventArgs args)
        {
            if (DataToShare == null) return;

            if (DataToShare is Uri)
            {
                var message = new ShareUriMessage((Uri)DataToShare, sender, args);
                _hub.Send(message);
                return;
            }

            if (DataToShare is ImageResult)
            {
                var message = new ShareImageResultsMessage((ImageResult)DataToShare, sender, args);
                _hub.Send(message);
                return;
            }
        }
 public ShareImageResultsMessage(ImageResult image, DataTransferManager sender, SettableDataRequestedEventArgs args)
     : base(sender, args)
 {
     Image = image;
 }
 public ShareUriMessage(Uri link, DataTransferManager sender, SettableDataRequestedEventArgs args)
     : base(sender, args)
 {
     Link = link;
 }
 public ShareDataMessage(DataTransferManager sender, SettableDataRequestedEventArgs args)
 {
     Sender = sender;
     DataRequestedEventArgs = args;
 }