QueryOptions Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Задает параметры поискового запроса для перечисления содержимого папок хранилища.
public ref class QueryOptions sealed
/// [Windows.Foundation.Metadata.Activatable(Windows.Storage.Search.IQueryOptionsFactory, 65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.Activatable(65536, Windows.Foundation.UniversalApiContract)]
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
class QueryOptions final
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
/// [Windows.Foundation.Metadata.Activatable(Windows.Storage.Search.IQueryOptionsFactory, 65536, "Windows.Foundation.UniversalApiContract")]
class QueryOptions final
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Storage.Search.IQueryOptionsFactory), 65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.Activatable(65536, typeof(Windows.Foundation.UniversalApiContract))]
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
public sealed class QueryOptions
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Activatable(65536, "Windows.Foundation.UniversalApiContract")]
[Windows.Foundation.Metadata.Activatable(typeof(Windows.Storage.Search.IQueryOptionsFactory), 65536, "Windows.Foundation.UniversalApiContract")]
public sealed class QueryOptions
function QueryOptions(query, fileTypeFilter)
Public NotInheritable Class QueryOptions
- Наследование
- Атрибуты
Требования к Windows
Семейство устройств |
Windows 10 (появилось в 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (появилось в v1.0)
|
Примеры
В этом примере показано, как использовать QueryOptions для запроса файлов в расположении.
// Set query options with filter and sort order for results
List<string> fileTypeFilter = new List<string>();
fileTypeFilter.Add(".jpg");
fileTypeFilter.Add(".png");
fileTypeFilter.Add(".bmp");
fileTypeFilter.Add(".gif");
var queryOptions = new QueryOptions(CommonFileQuery.OrderByName, fileTypeFilter);
// Create query and retrieve files
var query = KnownFolders.PicturesLibrary.CreateFileQueryWithOptions(queryOptions);
IReadOnlyList<StorageFile> fileList = await query.GetFilesAsync();
// Process results
foreach (StorageFile file in fileList)
{
// Process file
}
В этом примере показано, как использовать файловый запрос, поддерживаемый системным индексом, для получения свойств, которые могут полагаться на обработчик свойств другого приложения (например, свойство title document).
try
{
// Create index backed file query and get results
List<string> fileTypeFilter = new List<string>();
fileTypeFilter.Add(".png");
QueryOptions queryOptions = new QueryOptions(Windows.Storage.Search.CommonFileQuery.OrderByName, fileTypeFilter);
queryOptions.IndexerOption = IndexerOption.OnlyUseIndexer;
StorageFileQueryResult queryResult = Windows.Storage.KnownFolders.PicturesLibrary.CreateFileQueryWithOptions(queryOptions);
var files = await queryResult.GetFilesAsync();
// Process resulting files
if (files.Count == 0)
{
// Perform tasks to handle no files found
}
else
{
// Access properties for each file
foreach (StorageFile file in files)
{
var documentProperties = await file.Properties.GetDocumentPropertiesAsync();
// Perform tasks with document properties
String title = documentProperties.Title;
}
}
}
// Handle errors with catch blocks
catch (FileNotFoundException)
{
// For example, handle a file not found error
}
Комментарии
Вы можете создать запрос файла для любой папки, к которым у вас есть доступ, и которую можно получить как StorageFolder.
С помощью QueryOptions и CreateFileQueryWithOptions можно создать запрос к индексированным файлам, который позволяет получить свойства, зависящие от обработчика свойств другого приложения.
Конструкторы
QueryOptions() |
Создает экземпляр класса QueryOptions для перечисления элементов хранилища и инициализирует его со следующими параметрами по умолчанию: QueryOptions.FolderDepth получает FolderDepth.Shallow и QueryOptions.IndexerOption получаетIndexerOption.DoNotUseIndexer. Объект QueryOptions с указанными выше параметрами обеспечивает мелкое перечисление файлов и папок в расположении по папкам. По умолчанию папки перечисляются перед файлами, а файлы и папки в алфавитном порядке определяются по имени. |
QueryOptions(CommonFileQuery, IIterable<String>) |
Создает экземпляр класса QueryOptions для перечисления файлов и инициализирует его значениями, предоставленными указанным CommonFileQuery , и необязательным фильтром типа файлов, определяющим, какие файлы следует включить в результаты запроса. |
QueryOptions(CommonFolderQuery) |
Создает экземпляр класса QueryOptions для перечисления вложенных папок и инициализирует его значениями на основе указанного CommonFolderQuery. |
Свойства
ApplicationSearchFilter |
Возвращает или задает определяемую приложением строку расширенного синтаксиса запросов (AQS) для фильтрации файлов по ключевым словам или свойствам. Это свойство объединяется с UserSearchFilter для создания фильтра поиска запроса. |
DateStackOption |
Возвращает единицу времени, используемую для группировки файлов в папки, если объект QueryOptions был создан с CommonFolderQuery на основе даты. Например, если для создания объекта QueryOptions используется CommonFolderQuery.GroupByYear, то это свойство имеет значение DateStackOption.Year. |
FileTypeFilter |
Возвращает список расширений имен файлов, используемых для фильтрации результатов поиска. Если список пуст, результаты включают все типы файлов. |
FolderDepth |
Указывает, должен ли поисковый запрос создавать поверхностное представление содержимого папки или глубокое рекурсивное представление всех файлов и вложенных папок. |
GroupPropertyName |
Возвращает имя свойства, используемого для группировки результатов запроса, если объект QueryOptions был создан с помощью CommonFolderQuery. Например, если для создания объекта QueryOptions используется CommonFolderQuery.GroupByYear, то это свойство имеет значение System.ItemDate. |
IndexerOption |
Возвращает или задает значение, указывающее, используется ли системный индекс или файловая система для получения результатов запроса. Индексатор может быстрее получать результаты, но доступен не во всех расположениях файлов. |
Language |
Возвращает или задает тег языка Internet Engineering Task Force (IETF) (стандарт BCP47), который идентифицирует язык, связанный с запросом. Это определяет алгоритм для конкретного языка, используемый системой для разбиения запроса на отдельные маркеры поиска. |
SortOrder |
Возвращает список структур SortEntry , определяющих способ сортировки содержимого (например, файлов и вложенных папок) в результатах запроса. Используйте этот список для настройки сортировки результатов запроса. |
StorageProviderIdFilter |
Возвращает фильтр для идентификаторов поставщиков хранилища. |
UserSearchFilter |
Возвращает или задает определяемую пользователем строку расширенного синтаксиса запросов (AQS) для фильтрации файлов по ключевым словам или свойствам. Это свойство объединяется с ApplicationSearchFilter для создания фильтра поиска запроса. |
Методы
LoadFromString(String) |
Инициализирует текущий экземпляр класса QueryOptions параметрами поиска, заданными строкой, созданной методом SaveToString . |
SaveToString() |
Преобразует значения объекта QueryOptions в строку, которая может использоваться для инициализации значений объекта QueryOptions путем вызова LoadFromString. |
SetPropertyPrefetch(PropertyPrefetchOptions, IIterable<String>) |
Указывает свойства, которые система должна загружать заранее для всех элементов в результирующем наборе запроса во время выполнения запроса (вместо того, чтобы получать их в каждом конкретном случае). Если указано много свойств, выполнение запроса может занять больше времени, но последующее извлечение свойств в результатах запроса будет выполняться быстрее. |
SetThumbnailPrefetch(ThumbnailMode, UInt32, ThumbnailOptions) |
Указывает тип и размер эскизов, которые система должна начать загрузку сразу при доступе к элементам (вместо того, чтобы получать их в индивидуальном порядке). Это использует больше ресурсов, но ускоряет получение эскизов по результатам запроса. |