windows8 APP精要(2)打开文件方式

 /// <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;
            }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值