QueryOptions Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Especifica los parámetros de una consulta de búsqueda para enumerar el contenido de las carpetas de almacenamiento.
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
- Herencia
- Atributos
Requisitos de Windows
Familia de dispositivos |
Windows 10 (se introdujo en la versión 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (se introdujo en la versión v1.0)
|
Ejemplos
En este ejemplo se muestra cómo usar QueryOptions para consultar archivos en una ubicación.
// 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
}
En este ejemplo se muestra cómo usar una consulta de archivo respaldada por el índice del sistema para recuperar propiedades que pueden depender del controlador de propiedades de otra aplicación (como la propiedad de documento Title ).
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
}
Comentarios
Puede crear una consulta de archivo para cualquier carpeta a la que tenga acceso y que pueda obtener como storageFolder.
Puede usar QueryOptions y CreateFileQueryWithOptions para crear una consulta de archivos con respaldo indexado que le permita obtener propiedades que se basan en el controlador de propiedades de otra aplicación.
Constructores
QueryOptions() |
Crea una instancia de la clase QueryOptions para enumerar elementos de almacenamiento y la inicializa con la siguiente configuración predeterminada: QueryOptions.FolderDepth obtiene FolderDepth.Shallow y QueryOptions.IndexerOption obtiene IndexerOption.DoNotUseIndexer. Un objeto QueryOptions con las opciones anteriores proporcionará una enumeración superficial de carpeta por carpeta de los archivos y carpetas de una ubicación. De forma predeterminada, las carpetas se enumeran antes de que los archivos y los archivos y carpetas estén alfabéticos por nombre. |
QueryOptions(CommonFileQuery, IIterable<String>) |
Crea una instancia de la clase QueryOptions para enumerar archivos e inicializa con los valores proporcionados por commonFileQuery especificado y un filtro de tipo de archivo opcional que determina qué archivos se van a incluir en los resultados de la consulta. |
QueryOptions(CommonFolderQuery) |
Crea una instancia de la clase QueryOptions para enumerar subcarpetas e inicializa con valores basados en commonFolderQuery especificado. |
Propiedades
ApplicationSearchFilter |
Obtiene o establece una cadena de sintaxis de consulta avanzada (AQS) definida por la aplicación para filtrar archivos por palabras clave o propiedades. Esta propiedad se combina con UserSearchFilter para crear el filtro de búsqueda de la consulta. |
DateStackOption |
Obtiene la unidad de tiempo utilizada para agrupar archivos en carpetas si el objeto QueryOptions se creó con una CommonFolderQuery basada en la fecha. Por ejemplo, si Se usa CommonFolderQuery.GroupByYear para crear un objeto QueryOptions , el valor de esta propiedad es DateStackOption.Year. |
FileTypeFilter |
Obtiene una lista de extensiones de nombre de archivo usadas para filtrar los resultados de la búsqueda. Si la lista está vacía, los resultados incluyen todos los tipos de archivo. |
FolderDepth |
Indica si la consulta de búsqueda debe generar una vista superficial del contenido de la carpeta o una vista recursiva profunda de todos los archivos y subcarpetas. |
GroupPropertyName |
Obtiene el nombre de la propiedad utilizada para agrupar los resultados de la consulta si el objeto QueryOptions se creó mediante commonFolderQuery. Por ejemplo, si Se usa CommonFolderQuery.GroupByYear para crear un objeto QueryOptions , el valor de esta propiedad es System.ItemDate. |
IndexerOption |
Obtiene o establece un valor que especifica si se usa el índice del sistema o el sistema de archivos para recuperar los resultados de la consulta. El indexador puede recuperar resultados más rápido, pero no está disponible en todas las ubicaciones de archivos. |
Language |
Obtiene o establece la etiqueta de idioma del Grupo de tareas de ingeniería de Internet (IETF) (estándar BCP47) que identifica el idioma asociado a la consulta. Esto determina el algoritmo específico del lenguaje utilizado por el sistema para dividir la consulta en tokens de búsqueda individuales. |
SortOrder |
Obtiene la lista de estructuras SortEntry que especifican cómo ordenar contenido (como archivos y subcarpetas) en los resultados de la consulta. Use esta lista para personalizar cómo se ordenan los resultados de la consulta. |
StorageProviderIdFilter |
Obtiene el filtro para los identificadores del proveedor de almacenamiento. |
UserSearchFilter |
Obtiene o establece una cadena de sintaxis de consulta avanzada (AQS) definida por el usuario para filtrar archivos por palabras clave o propiedades. Esta propiedad se combina con ApplicationSearchFilter para crear el filtro de búsqueda de la consulta. |
Métodos
LoadFromString(String) |
Inicializa la instancia actual de la clase QueryOptions con parámetros de búsqueda especificados por una cadena creada por el método SaveToString . |
SaveToString() |
Convierte los valores de un objeto QueryOptions en una cadena que se puede usar para inicializar los valores de un objeto QueryOptions llamando a LoadFromString. |
SetPropertyPrefetch(PropertyPrefetchOptions, IIterable<String>) |
Especifica las propiedades que el sistema debe cargar de antemano para todos los elementos del conjunto de resultados de la consulta mientras se ejecuta la consulta (en lugar de recuperarlas por caso). Si se especifican muchas propiedades, la consulta puede tardar más tiempo en ejecutarse, pero la recuperación de propiedades posterior en los resultados de la consulta será más rápida. |
SetThumbnailPrefetch(ThumbnailMode, UInt32, ThumbnailOptions) |
Especifica el tipo y el tamaño de las miniaturas que el sistema debe empezar a cargar inmediatamente cuando se accede a los elementos (en lugar de recuperarlos por caso). Esto usa más recursos, pero hace que la recuperación de miniaturas en los resultados de la consulta sea más rápida. |