///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // METHODS ////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// private async void ViewModel_TargetedShareUiRequested(object sender, EventArgs e) { Rect rectangle; ShareUIOptions shareUIOptions = new ShareUIOptions(); await RunOnUIThreadAsync(CoreDispatcherPriority.Normal, () => { GeneralTransform transform; transform = AppBarButtonShare.TransformToVisual(null); rectangle = transform.TransformBounds(new Rect(0, 0, AppBarButtonShare.ActualWidth, AppBarButtonShare.ActualHeight)); shareUIOptions.SelectionRect = rectangle; DataTransferManager.ShowShareUI(shareUIOptions); }); }
public async Task <bool> ShowShareUIAsync(ShareUIOptions options, DataPackage dataPackage) { if (!PrivilegeHelper.IsDeclared(LaunchAppPrivilege)) { if (this.Log().IsEnabled(LogLevel.Error)) { this.Log().LogError($"The Launch app privilege must be declared ({LaunchAppPrivilege})"); } return(false); } var appControl = new AppControl { Operation = AppControlOperations.ShareText, }; var dataPackageView = dataPackage.GetView(); if (dataPackageView.Contains(StandardDataFormats.Text)) { var text = await dataPackageView.GetTextAsync(); appControl.ExtraData.Add(AppControlData.Text, text); } var uri = await DataTransferManager.GetSharedUriAsync(dataPackageView); if (uri != null) { appControl.ExtraData.Add(AppControlData.Url, uri.OriginalString); } AppControl.SendLaunchRequest(appControl); return(true); }