zoukankan      html  css  js  c++  java
  • Metro Style App开发快速入门 之文件选择总结

    1、选择单个文件,FileTypeFilter.Add是添加能访问的文件类型。

            private async void filePickerBtn_Click(object sender, RoutedEventArgs e)
            {
                FileOpenPicker fileOpenPicker = new FileOpenPicker();
                fileOpenPicker.FileTypeFilter.Add(".jpg");
                fileOpenPicker.FileTypeFilter.Add(".jpeg");
                fileOpenPicker.FileTypeFilter.Add(".png");
    
                fileOpenPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
                StorageFile file = await fileOpenPicker.PickSingleFileAsync();
                if (file != null)
                {
                    displayTextBlock.Text = file.Name;
                }
            }
    

     2、选择多个文件,并且是任意文件类型

            private async void filePickerBtn_Click(object sender, RoutedEventArgs e)
            {
                FileOpenPicker fileOpenPicker = new FileOpenPicker();
                fileOpenPicker.FileTypeFilter.Add("*");
                fileOpenPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
                IReadOnlyList<StorageFile> files = await fileOpenPicker.PickMultipleFilesAsync();
                if (files.Count > 0)
                {
                    foreach (StorageFile file in files)
                    {
                        displayTextBlock.Text += file.Name + "\n";
                    }
                }
            }
    

     3、 选择文件夹

            private async void folderPickerBtn_Click(object sender, RoutedEventArgs e)
            {
                if (EnsureUnsnapped())
                {
                    FolderPicker folderPicker = new FolderPicker();
                    folderPicker.SuggestedStartLocation = PickerLocationId.Desktop;
                    folderPicker.FileTypeFilter.Add("*");
                    StorageFolder storageFolder = await folderPicker.PickSingleFolderAsync();
                    if (null != storageFolder)
                    {
                        displayTextBlock.Text = storageFolder.Name;
                    }
                }
            }
    

     FilePicker APIs是不能在snapped状态下使用

            bool EnsureUnsnapped()
            { 
                //FilePicker APIs不能再snapped状态下使用。
                return ((ApplicationView.Value != ApplicationViewState.Snapped) || ApplicationView.TryUnsnap());
            }
    

    4、保存文件

            private async void SaveFileBtn_Click(object sender, RoutedEventArgs e)
            {
                if (EnsureUnsnapped())
                {
                    FileSavePicker savePicker = new FileSavePicker();
                    savePicker.SuggestedStartLocation = PickerLocationId.Desktop;
                    savePicker.FileTypeChoices.Add("Text", new List<string>() { ".txt" });
                    savePicker.FileTypeChoices.Add("Word Docment", new List<string>() { ".docx", ".doc" });
                    savePicker.DefaultFileExtension = ".txt";
                    savePicker.SuggestedFileName = "New Document";
                    StorageFile storageFile = await savePicker.PickSaveFileAsync();
                    if (null != storageFile)
                    {
                        displayTextBlock.Text = storageFile.Name;
                    }
                }
            }
    

     选择保存的文件保存自己要求的文件。自定义文件类型和文件名。

  • 相关阅读:
    Xcode一些好用的插件,以及这些插件的管理器
    iOS证书说明和发布
    iOS开发—音乐的播放
    POJ 1287 Networking 【最小生成树Kruskal】
    HDU1233 还是畅通工程【最小生成树】
    POJ 1251 + HDU 1301 Jungle Roads 【最小生成树】
    128 编辑器 【双栈】
    154. 滑动窗口【单调队列】
    5. 多重背包问题 II 【用二进制优化】
    4. 多重背包问题 I
  • 原文地址:https://www.cnblogs.com/linlf03/p/2400416.html
Copyright © 2011-2022 走看看