QueryOptions Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Spécifie les paramètres d’une requête de recherche pour énumérer le contenu des dossiers de stockage.
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
- Héritage
- Attributs
Configuration requise pour Windows
Famille d’appareils |
Windows 10 (introduit dans 10.0.10240.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v1.0)
|
Exemples
Cet exemple montre comment utiliser QueryOptions pour interroger des fichiers dans un emplacement.
// 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
}
Cet exemple montre comment utiliser une requête de fichier qui est soutenue par l’index système pour récupérer des propriétés qui peuvent s’appuyer sur le gestionnaire de propriétés d’une autre application (comme la propriété 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
}
Remarques
Vous pouvez créer une requête de fichier pour n’importe quel dossier auquel vous avez accès et que vous pouvez obtenir en tant que StorageFolder.
Vous pouvez utiliser QueryOptions et CreateFileQueryWithOptions pour créer une requête de fichier indexé qui vous permet d’obtenir des propriétés qui s’appuient sur le gestionnaire de propriétés d’une autre application.
Constructeurs
QueryOptions() |
Crée un instance de la classe QueryOptions pour énumérer les éléments de stockage et l’initialise avec les paramètres par défaut suivants : QueryOptions.FolderDepth obtient FolderDepth.Shallow et QueryOptions.IndexerOption obtient IndexerOption.DoNotUseIndexer. Un objet QueryOptions avec les options précédentes fournit une énumération peu profonde de dossier par dossier des fichiers et dossiers dans un emplacement. Par défaut, les dossiers sont énumérés avant les fichiers et les fichiers et dossiers sont alphabétiques par nom. |
QueryOptions(CommonFileQuery, IIterable<String>) |
Crée une instance de la classe QueryOptions pour l’énumération des fichiers et l’initialise avec les valeurs fournies par le CommonFileQuery spécifié et un filtre de type de fichier facultatif qui détermine les fichiers à inclure dans les résultats de la requête. |
QueryOptions(CommonFolderQuery) |
Crée une instance de la classe QueryOptions pour énumérer les sous-dossiers et l’initialise avec des valeurs basées sur le CommonFolderQuery spécifié. |
Propriétés
ApplicationSearchFilter |
Obtient ou définit une chaîne AQS (Advanced Query Syntax) définie par l’application pour filtrer les fichiers par mots clés ou propriétés. Cette propriété est combinée à UserSearchFilter pour créer le filtre de recherche de la requête. |
DateStackOption |
Obtient l’unité de temps utilisée pour regrouper des fichiers dans des dossiers si l’objet QueryOptions a été créé avec un CommonFolderQuery basé sur la date. Par exemple, si CommonFolderQuery.GroupByYear est utilisé pour créer un objet QueryOptions , la valeur de cette propriété est DateStackOption.Year. |
FileTypeFilter |
Obtient la liste des extensions de nom de fichier utilisées pour filtrer les résultats de la recherche. Si la liste est vide, les résultats incluent tous les types de fichiers. |
FolderDepth |
Indique si la requête de recherche doit produire une vue superficielle du contenu du dossier ou une vue récursive profonde de tous les fichiers et sous-dossiers. |
GroupPropertyName |
Obtient le nom de la propriété utilisée pour regrouper les résultats de la requête si l’objet QueryOptions a été créé à l’aide d’un CommonFolderQuery. Par exemple, si CommonFolderQuery.GroupByYear est utilisé pour créer un objet QueryOptions , la valeur de cette propriété est System.ItemDate. |
IndexerOption |
Obtient ou définit une valeur qui spécifie si l’index système ou le système de fichiers est utilisé pour récupérer les résultats de la requête. L’indexeur peut récupérer les résultats plus rapidement, mais il n’est pas disponible dans tous les emplacements de fichiers. |
Language |
Obtient ou définit la balise de langue IETF (Internet Engineering Task Force) (BCP47 standard) qui identifie la langue associée à la requête. Cela détermine l’algorithme spécifique au langage utilisé par le système pour diviser la requête en jetons de recherche individuels. |
SortOrder |
Obtient la liste des structures SortEntry qui spécifient comment trier le contenu (comme les fichiers et sous-dossiers) dans les résultats de la requête. Utilisez cette liste pour personnaliser la façon dont les résultats de la requête sont triés. |
StorageProviderIdFilter |
Obtient le filtre pour les identificateurs de fournisseur de stockage. |
UserSearchFilter |
Obtient ou définit une chaîne AQS (Advanced Query Syntax) définie par l’utilisateur pour filtrer les fichiers par mots clés ou propriétés. Cette propriété est combinée avec ApplicationSearchFilter pour créer le filtre de recherche de la requête. |
Méthodes
LoadFromString(String) |
Initialise le instance actuel de la classe QueryOptions avec les paramètres de recherche spécifiés par une chaîne créée par la méthode SaveToString. |
SaveToString() |
Convertit les valeurs d’un objet QueryOptions en chaîne qui peut être utilisée pour initialiser les valeurs d’un objet QueryOptions en appelant LoadFromString. |
SetPropertyPrefetch(PropertyPrefetchOptions, IIterable<String>) |
Spécifie les propriétés que le système doit charger à l’avance pour tous les éléments du jeu de résultats de la requête pendant l’exécution de la requête (au lieu de les récupérer au cas par cas). Si de nombreuses propriétés sont spécifiées, l’exécution de la requête peut prendre plus de temps, mais la récupération ultérieure des propriétés sur les résultats de la requête sera plus rapide. |
SetThumbnailPrefetch(ThumbnailMode, UInt32, ThumbnailOptions) |
Spécifie le type et la taille des miniatures que le système doit commencer à charger immédiatement lorsque les éléments sont accessibles (au lieu de les récupérer au cas par cas). Cela utilise davantage de ressources, mais accélère la récupération des miniatures sur les résultats de la requête. |