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

来源:互联网 发布:淘宝ipad官换机可靠吗 编辑:程序博客网 时间:2024/06/05 08:46

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

 

原创粉丝点击