Freigeben über


QueryOptions Klasse

Definition

Gibt die Parameter einer Suchabfrage zum Auflisten des Inhalts von Speicherordnern an.

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
Vererbung
Object Platform::Object IInspectable QueryOptions
Attribute

Windows-Anforderungen

Gerätefamilie
Windows 10 (eingeführt in 10.0.10240.0)
API contract
Windows.Foundation.UniversalApiContract (eingeführt in v1.0)

Beispiele

In diesem Beispiel wird veranschaulicht, wie Sie QueryOptions verwenden, um Dateien an einem Speicherort abzufragen.

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

In diesem Beispiel wird veranschaulicht, wie Sie eine Dateiabfrage verwenden, die vom Systemindex unterstützt wird, um Eigenschaften abzurufen, die möglicherweise auf dem Eigenschaftenhandler einer anderen App basieren (z. B. Title-Dokumenteigenschaft ).

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
}

Hinweise

Sie können eine Dateiabfrage für jeden Ordner erstellen, auf den Sie Zugriff haben und den Sie als StorageFolder abrufen können.

Sie können QueryOptions und CreateFileQueryWithOptions verwenden, um eine indizierte, gesicherte Dateiabfrage zu erstellen, mit der Sie Eigenschaften abrufen können, die auf dem Eigenschaftenhandler einer anderen App basieren.

Konstruktoren

QueryOptions()

Erstellt eine instance der QueryOptions-Klasse zum Aufzählen von Speicherelementen und initialisiert sie mit den folgenden Standardeinstellungen: QueryOptions.FolderDepth ruft FolderDepth.Shallow und QueryOptions.IndexerOption ruft IndexerOption.DoNotUseIndexer ab.

Ein QueryOptions-Objekt mit den vorherigen Optionen stellt eine flache Ordner-für-Ordner-Enumeration der Dateien und Ordner an einem Speicherort bereit. Standardmäßig werden Ordner vor Dateien aufgelistet, und sowohl Dateien als auch Ordner werden nach Namen alphabetisiert.

QueryOptions(CommonFileQuery, IIterable<String>)

Erstellt eine instance der QueryOptions-Klasse zum Auflisten von Dateien und initialisiert sie mit Werten, die vom angegebenen CommonFileQuery-Objekt bereitgestellt werden, und einem optionalen Dateitypfilter, der bestimmt, welche Dateien in Abfrageergebnisse eingeschlossen werden sollen.

QueryOptions(CommonFolderQuery)

Erstellt eine instance der QueryOptions-Klasse zum Auflisten von Unterordnern und initialisiert sie mit Werten, die auf der angegebenen CommonFolderQuery basieren.

Eigenschaften

ApplicationSearchFilter

Ruft eine anwendungsdefinierte AQS-Zeichenfolge (Advanced Query Syntax) zum Filtern von Dateien nach Schlüsselwörtern oder Eigenschaften ab oder legt diese fest. Diese Eigenschaft wird mit dem UserSearchFilter kombiniert, um den Suchfilter der Abfrage zu erstellen.

DateStackOption

Ruft die Zeiteinheit ab, die zum Gruppieren von Dateien in Ordnern verwendet wird, wenn das QueryOptions-Objekt mit einer CommonFolderQuery basierend auf dem Datum erstellt wurde. Wenn beispielsweise CommonFolderQuery.GroupByYear zum Erstellen eines QueryOptions-Objekts verwendet wird, ist der Wert dieser Eigenschaft DateStackOption.Year.

FileTypeFilter

Ruft eine Liste der Dateinamenerweiterungen ab, die zum Filtern der Suchergebnisse verwendet werden. Wenn die Liste leer ist, enthalten die Ergebnisse alle Dateitypen.

FolderDepth

Gibt an, ob die Suchabfrage eine flache Ansicht des Ordnerinhalts oder eine tiefe rekursive Ansicht aller Dateien und Unterordner erzeugen soll.

GroupPropertyName

Ruft den Namen der Eigenschaft ab, die zum Gruppieren von Abfrageergebnissen verwendet wird, wenn das QueryOptions-Objekt mithilfe einer CommonFolderQuery erstellt wurde. Wenn beispielsweise CommonFolderQuery.GroupByYear zum Erstellen eines QueryOptions-Objekts verwendet wird, ist der Wert dieser Eigenschaft System.ItemDate.

IndexerOption

Ruft einen Wert ab, der angibt, ob der Systemindex oder das Dateisystem zum Abrufen von Abfrageergebnissen verwendet wird, oder legt diesen fest. Der Indexer kann Ergebnisse schneller abrufen, ist aber nicht an allen Dateispeicherorten verfügbar.

Language

Ruft das IETF-Sprachtag (Internet Engineering Task Force) (BCP47-Standard) ab, das die der Abfrage zugeordnete Sprache identifiziert, oder legt es fest. Dadurch wird der sprachspezifische Algorithmus bestimmt, der vom System verwendet wird, um die Abfrage in einzelne Suchtoken aufzuteilen.

SortOrder

Ruft die Liste der SortEntry-Strukturen ab, die angeben, wie Inhalte (z. B. Dateien und Unterordner) in Abfrageergebnissen sortiert werden sollen. Verwenden Sie diese Liste, um die Sortierung von Abfrageergebnissen anzupassen.

StorageProviderIdFilter

Ruft den Filter für Speicheranbieterbezeichner ab.

UserSearchFilter

Ruft eine benutzerdefinierte AQS-Zeichenfolge (Advanced Query Syntax) zum Filtern von Dateien nach Schlüsselwörtern oder Eigenschaften ab oder legt diese fest. Diese Eigenschaft wird mit ApplicationSearchFilter kombiniert, um den Suchfilter der Abfrage zu erstellen.

Methoden

LoadFromString(String)

Initialisiert den aktuellen instance der QueryOptions-Klasse mit Suchparametern, die durch eine Zeichenfolge angegeben werden, die von der SaveToString-Methode erstellt wurde.

SaveToString()

Konvertiert die Werte eines QueryOptions-Objekts in eine Zeichenfolge, die zum Initialisieren der Werte eines QueryOptions-Objekts verwendet werden kann, indem LoadFromString aufgerufen wird.

SetPropertyPrefetch(PropertyPrefetchOptions, IIterable<String>)

Gibt Eigenschaften an, die das System im Voraus für alle Elemente im Abfrageergebnissatz laden soll, während die Abfrage ausgeführt wird (anstatt sie nach Fall und Fall abzurufen). Wenn viele Eigenschaften angegeben werden, dauert die Ausführung der Abfrage möglicherweise länger, aber der nachfolgende Abruf von Eigenschaften für Abfrageergebnisse ist schneller.

SetThumbnailPrefetch(ThumbnailMode, UInt32, ThumbnailOptions)

Gibt den Typ und die Größe von Miniaturansichten an, die das System sofort laden soll, wenn auf Elemente zugegriffen wird (anstatt sie nach Einzelfall abzurufen). Dadurch werden mehr Ressourcen verwendet, aber das Abrufen von Miniaturansichten für Abfrageergebnisse wird beschleunigt.

Gilt für:

Weitere Informationen