/// <summary>
/// 是否采用默认关联程序打开文件
/// </summary>
/// <param name="withPicker"></param>
public async void OpenFile( bool withPicker)
{
StorageFolder storageFolder = KnownFolders.DocumentsLibrary;
StorageFile file = await storageFolder.CreateFileAsync("网络.pdf", CreationCollisionOption.ReplaceExisting);
if (file != null)
{
if (withPicker)
{
//请用户选择打开方式
var options = new LauncherOptions { DisplayApplicationPicker = true };
options.UI.PreferredPlacement = Placement.Below;
await Launcher.LaunchFileAsync(file, options);
}
else
{
//直接使用默认关联程序打开
await Launcher.LaunchFileAsync(file);
}
}
}
打开网络文件
string uriToLaunch = @\\"http://www.DevDiv.com\\";
// Create a Uri object from a URI string
var uri = new Uri(uriToLaunch);
// Launch the URI
var success = await Windows.System.Launcher.LaunchUriAsync(uri);
// Launch a URI.
private async void LaunchUriButton_Click(object sender, RoutedEventArgs e)
{
var uri = new Uri(uriToLaunch);
bool success = await Windows.System.Launcher.LaunchUriAsync(uri);
}
// Launch a URI. Show a warning prompt.
private async void LaunchUriWithWarningButt
on_Click(object sender, RoutedEventArgs e)
{
var uri = new Uri(uriToLaunch);
LauncherOptions options = new LauncherOptions();// Configure the warning prompt.
options.TreatAsUntrusted = true;
bool success = await Launcher.LaunchUriAsync(uri, options);
}
// Launch a URI. Show an Open With dialog that lets the user chose the handler to use.
private async void LaunchUriOpenWithButton_Click(object sender, RoutedEventArgs e)
{
var uri = new Uri(uriToLaunch);
Point openWithPosition = GetOpenWithPosition(this.LaunchUriOpenWithButton);
var options = new LauncherOptions();
options.DisplayApplicationPicker
= true;
options.UI.InvocationPoint = openWithPosition;
options.UI.PreferredPlacement = Placement.Below;
bool success = await Windows.System.Launcher.LaunchUriAsync(uri, options);
}
// The Open With dialog should be displayed just under the element that triggered it.
private Windows.Foundation.Point GetOpenWithPosition(FrameworkElement element)
{
Windows.UI.Xaml.Media.GeneralTransform buttonTransform = element.TransformToVisual(null);
Point desiredLocation = buttonTransform.TransformPoint(new Point());
desiredLocation.X = desiredLocation.X + element.ActualWidth / 2;
desiredLocation.Y = desiredLocation.Y + element.ActualHeight;
return desiredLocation;
}