Windows Store App 文件选取器
使用文件选取器可以访问除上面介绍的“应用程序存储”和“用户库”两个位置之外的本地文件或者文件夹。文件选取器是应用与系统进行交互的一个接口,通过文件选取器可以在应用中直接与文件系统进行交互,访问不同位置的文件或将文件存储在指定位置。
文件选取器包含文件打开选取器和文件保存选取器,文件打开选取器由FileOpenPicker类表示,用来选择或打开文件,而文件保存选取器由FileSavePicker类表示,用来在保存文件时对文件的扩展名、存储位置等进行选择。这两种选择器的使用方法大致相同,所以下面以文件打开选取器为例进行介绍。
在使用文件打开选取器的过程中,通过设置文件打开选取器的属性可以自定义文件选取器的视图模式、初始位置或文件类型集合。下面先来介绍一下文件打开选取器的几个常用属性。
q ViewMode,获取或设置文件打开选取器用来展示文件或文件夹的视图模式。属性的值由PickerViewMode枚举指定,该枚举包含两个枚举成员,List和Thumbnail,List表示列表模式,Thumbnail则表示缩略图模式。
q SuggestedStartLocation,获取或者设置文件打开选取器显示的初始位置。属性的值由PickerViewMode枚举指定,此枚举有8个枚举成员分别用来表示不同的位置,包括计算机、图片库等,这里不再一一列举。
q FileTypeFilter,获取文件打开选取器显示的文件类型集合,这些文件类型可以是“.doc”、“.png”等。
在了解了常用属性之后,接下来给出一段创建文件打开选取器的示例代码。
//创建文件选取器
FileOpenPicker openPicker = new FileOpenPicker();
//将ViewMode属性设为Thumbnail
openPicker.ViewMode = PickerViewMode.Thumbnail;
//将文件选取器打开文件的开始位置设置为图片库
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
//设置选取器可以选取的文件格式
openPicker.FileTypeFilter.Add(".jpg");
openPicker.FileTypeFilter.Add(".jpeg");
openPicker.FileTypeFilter.Add(".png");
代码创建了一个FileOpenPicker类的对象openPicker作为文件打开选取器,设置openPicker的ViewMode属性的值为PickerViewMode.Thumbnail,将视图模式设定为缩略图模式,通过SuggestedStartLocation属性将选择器的初始位置定位在图片库,并使用FileTypeFilter属性获取选择器显示的文件类型集合,然后调用Add方法将需要使用的文件类型添加到集合中。
创建了文件打开选取器之后,就可以通过文件打开选取器来选择文件了。当需要选择单个文件时,使用文件打开选取器的PickSingleFileAsync方法可以实现。示例代码如下所示:
Windows.Storage.StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null)
{
// 在页面中显示所选文件名称
}
else
{
//在页面中提示用户没有文件返回
}
代码在获取到选定的文件file后,对file进行了判断,如果file不为空,则显示文件的名称,否则显示“没有文件返回”。
而当使用文件打开选取器选择多个文件时,需要调用选取器的PickMultipleFilesAsync方法,示例代码如下所示:
IReadOnlyList<Windows.Storage.StorageFile> files = await openPicker.PickMultipleFilesAsync();
if (files.Count > 0)
{
// 显示所有文件名称
foreach (Windows.Storage.StorageFile file in files)
{
//在页面中显示所选文件名称
}
}
else
{
//在页面中提示用户“没有文件返回”
}
代码首先获取选定的文件集合files,然后判断集合files的元素个数是否大于0,如果大于0,依次显示集合中所有文件的名称,否则显示提示信息“没有文件返回”。
Windows Store App 文件选取器的更多相关文章
- Windows Store App JavaScript 开发:文件选取器
正如前面章节C#语言中所介绍的,文件选取器是应用与系统进行交互的一个接口,通过文件选取器可以在应用中直接与文件系统进行交互,访问不同位置的文件或文件夹,或者将文件存储在指定位置.文件选取器分为对文件进 ...
- 重新想象 Windows 8 Store Apps (26) - 选取器: 自定义文件选取窗口, 自定义文件保存窗口
原文:重新想象 Windows 8 Store Apps (26) - 选取器: 自定义文件选取窗口, 自定义文件保存窗口 [源码下载] 重新想象 Windows 8 Store Apps (26) ...
- Windows Store App JavaScript 开发:选取文件和文件夹
前面提到过,文件打开选取器由FileOpenPicker类表示,用于选取或打开文件,而文件夹选取器由FolderPicker类表示,用来选取文件夹.在FileOpenPicker类中,pickSing ...
- 重新想象 Windows 8 Store Apps (25) - 选取器: 文件选取窗口, 文件夹选取窗口, 文件保存窗口
原文:重新想象 Windows 8 Store Apps (25) - 选取器: 文件选取窗口, 文件夹选取窗口, 文件保存窗口 [源码下载] 重新想象 Windows 8 Store Apps (2 ...
- 重新想象 Windows 8 Store Apps (28) - 选取器: CachedFileUpdater(缓存文件更新程序)
原文:重新想象 Windows 8 Store Apps (28) - 选取器: CachedFileUpdater(缓存文件更新程序) [源码下载] 重新想象 Windows 8 Store App ...
- 重新想象 Windows 8 Store Apps (27) - 选取器: 联系人选取窗口, 自定义联系人选取窗口
原文:重新想象 Windows 8 Store Apps (27) - 选取器: 联系人选取窗口, 自定义联系人选取窗口 [源码下载] 重新想象 Windows 8 Store Apps (27) - ...
- 在桌面程序上和Metro/Modern/Windows store app的交互(相互打开,配置读取)
这个标题真是取得我都觉得蛋疼..微软改名狂魔搞得我都不知道要叫哪个好.. 这边记录一下自己的桌面程序跟windows store app交互的过程. 由于某些原因,微软的商店应用的安全沙箱导致很多事情 ...
- Windows Store App 过渡动画
Windows Store App 过渡动画 在开发Windows应用商店应用程序时,如果希望界面元素进入或者离开屏幕时显得自然和流畅,可以为其添加过渡动画.过渡动画能够及时地提示用户屏幕所发 ...
- Windows Store App 近期访问列表
Windows 8系统在管理用户的文件时,会将用户近期访问的文件添加到对应应用的近期访问列表中,所有的Windows应用商店应用都有各自的近期访问列表,根据文件的上一次访问时间,可以在列表中对文件进行 ...
随机推荐
- Leetcode: Assign Cookies
Assume you are an awesome parent and want to give your children some cookies. But, you should give e ...
- phpcms V9 数据模型基类
在学习<phpcms V9首页模板文件解析>的第七步,我们看到content_model类,文件路径:phpcms/model/content_model.class.php 从代码中,可 ...
- 关于JQ的$.deferred()
此文章是在网络上看到的. 一.什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作.其中,既有异步的操作(比如ajax读取服务器数据),也有同步的操作(比 ...
- Mayor's posters(线段树+离散化POJ2528)
Mayor's posters Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 51175 Accepted: 14820 Des ...
- PetaPoco入门(二)
1. Petapoco基本用法 1.1. 创建示例工程 首先创建一个工程文件,为了便于展示数据这里创建一个类型为:WindowsApplication的工程文件.命名为:PetapocoTest. 程 ...
- 系统巡警 v1.2 系统行为分析神器
系统巡警,是一款安全辅助软件,可以帮助系统维护人员或安全研究人员观察系统运行情况,包括进程启动与销毁记录.模块加载记录.线程启动与销毁记录.系统服务创建修改和删除记录.文件与文件夹的增加删除和修改记录 ...
- Hadoop安装指引
pre.ctl { font-family: "Liberation Mono", monospace } p { margin-bottom: 0.25cm; line-heig ...
- oracle mysql sqlserver数据库中的分页
oracle: select * from (select rownum r,t1.* from tablename t1 where rownum <M+N ) t2 where t2.r&g ...
- IOS开发之异步加载网络图片并缓存本地实现瀑布流(二)
/* * @brief 图片加载通用函数 * @parma imageName 图片名 */ - (void)imageStartLoading:(NSString *)imageName{ NSUR ...
- UVa 12299 RMQ with Shifts(移位RMQ)
p.MsoNormal { margin: 0pt; margin-bottom: .0001pt; text-align: justify; font-family: "Times New ...