博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Metro Style App开发快速入门 之文件选择总结
阅读量:6719 次
发布时间:2019-06-25

本文共 2326 字,大约阅读时间需要 7 分钟。

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

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

本文转自Work Hard Work Smart博客园博客,原文链接:http://www.cnblogs.com/linlf03/archive/2012/03/27/2400416.html,如需转载请自行联系原作者

你可能感兴趣的文章
常用的列表和元祖
查看>>
红米4A手机刷开发版rom并且获取root权限
查看>>
if语句三种形式
查看>>
C# PDF 全攻略
查看>>
用户场景分析
查看>>
Linux下QT和qtCreator安装配置
查看>>
javascript+dom 编程艺术<2>
查看>>
你人生最重的枷锁是什么?
查看>>
MySQL学习(八)
查看>>
【转载】支持向量机(三)核函数
查看>>
K8s集群部署(一)------ETCD集群部署
查看>>
python 基本数据类型之整数和布尔值
查看>>
@font-face在vue中的使用
查看>>
MathType可以编辑带圈乘号吗
查看>>
Mac生成ssh key
查看>>
canvas绘图详解-05-线条的属性
查看>>
python socket通信案例
查看>>
第十章
查看>>
C++typedefine用法小结
查看>>
CSS3边框特效
查看>>