Language: HTML | XAML

Schnellstart: Zugreifen auf den Inhalt von Heimnetzgruppen (XAML)

Applies to Windows only

Greifen Sie auf Inhalte zu, die sich im Heimnetzgruppenordner des Benutzers befinden, einschließlich Bildern, Musik und Videos.

Voraussetzungen

  • Kenntnisse in der asynchronen Programmierung für Windows-Runtime-Apps mit C++, C# oder Visual Basic

    In Schnellstart: Verwenden des await-Operators zum asynchronen Programmieren erfahren Sie, wie Sie asynchrone Apps schreiben.

  • Deklaration der App-Funktionen

    Damit auf Heimnetzgruppeninhalte zugegriffen werden kann, muss auf dem Computer des Benutzers eine Heimnetzgruppe eingerichtet sein, und Ihre App muss mindestens eine der folgenden Funktionen unterstützen: Bildbibliothek, Musikbibliothek oder Videobibliothek. Wenn Ihre App den Heimnetzgruppenordner abruft, sieht sie nur die Bibliotheken, die den im Manifest Ihrer App deklarierten Funktionen entsprechen. Weitere Informationen zu diesen Funktionen finden Sie in Deklaration der App-Funktionen.

    Hinweis  Inhalte der Dokumentbibliothek einer Heimnetzgruppe sind für Ihre App nicht sichtbar, unabhängig von den deklarierten Funktionen in ihrem Manifest und den Freigabeeinstellungen des Benutzers.

  • So wird's gemacht: Verwenden der Dateiauswahl

    Normalerweise verwenden Sie die Dateiauswahl, um auf Dateien und Ordner in der Heimnetzgruppe zuzugreifen. Weitere Informationen zur Verwendung der Dateiauswahl finden Sie in Schnellstart: Dateizugriff mit Dateiauswahl.

  • Datei- und Ordnerabfragen

    Sie können Abfragen dazu verwenden, Dateien und Ordner in der Heimnetzgruppe aufzulisten. Weitere Informationen zu Datei- und Ordnerabfragen erhalten Sie in Schnellstart: Programmgesteuerter Dateizugriff.

Öffnen der Dateiauswahl für die Heimnetzgruppe

Führen Sie die folgenden Schritte durch, um eine Instanz der Dateiauswahl zu öffnen, mit der Benutzer Dateien und Ordner in der Heimnetzgruppe auswählen können:

  1. Erstellen und Anpassen der Dateiauswahl

    Verwenden Sie FileOpenPicker zum Erstellen einer Dateiauswahl, und legen Sie dann den SuggestedStartLocation der Auswahl auf PickerLocationId.HomeGroup fest. Optional können Sie weitere Eigenschaften festlegen, die für Benutzer und App relevant sind. Richtlinien zur Anpassung der Dateiauswahl erhalten Sie in Richtlinien und Prüfliste für die Dateiauswahl.

    In diesem Beispiel wird eine Dateiauswahl erstellt, die in der Heimnetzgruppe geöffnet wird, bei der Dateien jeglichen Typs angezeigt werden und die Dateien als Miniaturbilder erscheinen:

    
    Windows.Storage.Pickers.FileOpenPicker picker = new Windows.Storage.Pickers.FileOpenPicker();
    picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
    picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.HomeGroup;
    picker.FileTypeFilter.Clear();
    picker.FileTypeFilter.Add("*");
    
    
  2. Blenden Sie die Dateiauswahl ein und verarbeiten Sie die ausgewählte Datei.

    Lassen Sie den Benutzer eine Datei auswählen, indem Sie FileOpenPicker.PickSingleFileAsync aufrufen, oder mehrere Dateien auswählen, indem Sie FileOpenPicker.PickMultipleFilesAsync aufrufen, nachdem Sie die Dateiauswahl erstellt und angepasst haben.

    Dieses Beispiel zeigt eine Dateiauswahl, bei der der Benutzer eine Datei auswählen kann:

    
    Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
    
    if (file != null)
    {
        // TODO: Do something with the file.
    }
    else
    {
        // TODO: No file returned. Handle the error.
    }
    
    

Durchsuchen der Heimnetzgruppe nach Dateien

In diesem Beispiel wird erläutert, wie Elemente in der Heimnetzgruppe gefunden werden können, die einem vom Benutzer angegebenen Abfrageausdruck entsprechen.

  1. Rufen Sie den Abfrageausdruck vom Benutzer ab.

    Hier erhalten wir einen Abfrageausdruck, den der Benutzer in ein TextBox-Steuerelement namens SearchQuery eingegeben hat:

    
    string queryTerm = SearchQuery.Text;
    
    
  2. Legen Sie die Abfrageoptionen und Suchfilter fest.

    Abfrageoptionen bestimmen, wie die Suchergebnisse sortiert werden, während durch den Suchfilter festgelegt wird, welche Elemente in den Suchergebnissen erscheinen.

    In diesem Beispiel werden Abfrageoptionen festgelegt, die die Suchergebnisse nach Relevanz und dem Änderungsdatum sortieren. Beim Suchfilter handelt es sich um den Abfrageausdruck, den der Benutzer im vorherigen Schritt eingegeben hat:

    
    Windows.Storage.Search.QueryOptions queryOptions = 
            new Windows.Storage.Search.QueryOptions(Windows.Storage.Search.CommonFileQuery.OrderBySearchRank, null);
    queryOptions.UserSearchFilter = queryTerm.Text;
    Windows.Storage.Search.StorageFileQueryResult queryResults = 
            Windows.Storage.KnownFolders.HomeGroup.CreateFileQueryWithOptions(queryOptions);
    
    
  3. Führen Sie die Abfrage aus und verarbeiten Sie die Ergebnisse.

    Im folgenden Beispiel wird die Suchabfrage in der Heimnetzgruppe ausgeführt, und die Namen aller passenden Dateien werden in einer Liste mit Zeichenfolgen gespeichert.

    
    System.Collections.Generic.IReadOnlyList<Windows.Storage.StorageFile> files = 
            await queryResults.GetFilesAsync();
    if (files.Count > 0)
    {
        outputString += (files.Count == 1) ? "One file found\n" : files.Count.ToString() + " files found\n";
        foreach (Windows.Storage.StorageFile file in files)
        {
            outputString += file.Name + "\n";
        }
    }
    
    

Durchsuchen der Heimnetzgruppe nach den freigegebenen Dateien eines bestimmten Benutzers

In diesem Abschnitt erfahren Sie, wie Sie nach Heimnetzgruppendateien suchen, die von einem bestimmten Benutzer freigegeben wurden.

  1. Stellen Sie eine Sammlung von Heimnetzgruppenbenutzern zusammen.

    Jeder Ordner auf oberster Ebene in der Heimnetzgruppe repräsentiert einen bestimmten Heimnetzgruppenbenutzer. Um die Sammlung der Heimnetzgruppenbenutzer zu erhalten, rufen Sie also GetFoldersAsync auf, um die Heimnetzgruppenordner der obersten Ebene abzurufen.

    
    System.Collections.Generic.IReadOnlyList<Windows.Storage.StorageFolder> hgFolders = 
        await Windows.Storage.KnownFolders.HomeGroup.GetFoldersAsync();
    
    
  2. Suchen Sie dann nach dem Ordner des Zielbenutzers, und erstellen Sie eine Dateiabfrage, die auf den Ordner dieses Benutzers eingegrenzt ist.

    Das folgende Beispiel geht die abgerufenen Ordner durch, um den Ordner des Zielbenutzers zu finden. Anschließend legt es die Abfrageoptionen so fest, dass alle Dateien im Ordner gefunden werden, primär nach Relevanz und zweitrangig nach dem Änderungsdatum sortiert. Das Beispiel generiert eine Zeichenfolge, die die Anzahl der gefundenen Dateien zusammen mit den Namen der Dateien ausgibt.

    
    bool userFound = false;
    foreach (Windows.Storage.StorageFolder folder in hgFolders)
    {
        if (folder.DisplayName == targetUserName)
        {
            // Found the target user's folder, now find all files in the folder.
            userFound = true;
            Windows.Storage.Search.QueryOptions queryOptions = 
                new Windows.Storage.Search.QueryOptions(Windows.Storage.Search.CommonFileQuery.OrderBySearchRank, null);
            queryOptions.UserSearchFilter = "*";
            Windows.Storage.Search.StorageFileQueryResult queryResults = folder.CreateFileQueryWithOptions(queryOptions);
            System.Collections.Generic.IReadOnlyList<Windows.Storage.StorageFile> files = await queryResults.GetFilesAsync();
    
            if (files.Count > 0)
            {
                string outputString = "Searched for files belonging to " + targetUserName + "'\n";
                outputString += (files.Count == 1) ? "One file found\n" : files.Count.ToString() + " files found\n";
                foreach (Windows.Storage.StorageFile file in files)
                {
                    outputString += file.Name + "\n";
                }
        }
    }
    
    

Streamen von Videos aus der Heimnetzgruppe

Gehen Sie wie folgt vor, um Videoinhalte aus der Heimnetzgruppe zu streamen:

  1. Fügen Sie Ihrer App ein "MediaElement" hinzu.

    Mithilfe eines MediaElement können Sie Audio- und Videoinhalte in Ihrer App wiedergeben. Weitere Informationen zur Audio- und Videowiedergabe erhalten Sie in Schnellstart: Erstellen einer Media Player-App und Schnellstart: Video und Audio.

    
    <Grid x:Name="Output" HorizontalAlignment="Left" VerticalAlignment="Top" Grid.Row="1">
        <MediaElement x:Name="VideoBox" HorizontalAlignment="Left" VerticalAlignment="Top" Margin="0" Width="400" Height="300"/>
    </Grid>
    
    
  2. Öffnen Sie eine Dateiauswahl für die Heimnetzgruppe und wenden Sie einen Filter an, der alle Dateien ausschließt, bei denen es sich nicht um Videodateiformate handelt, die Ihre App unterstützt.

    In diesem Beispiel werden MP4- und WMV-Dateien für die Dateiauswahl festgelegt.

    
    Windows.Storage.Pickers.FileOpenPicker picker = new Windows.Storage.Pickers.FileOpenPicker();
    picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
    picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.HomeGroup;
    picker.FileTypeFilter.Clear();
    picker.FileTypeFilter.Add(".mp4");
    picker.FileTypeFilter.Add(".wmv");
    Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
    
    
  3. Öffnen Sie die Dateiauswahl des Benutzers zum Lesezugriff, und legen Sie den Dateistream als Quelle für das MediaElement fest. Spielen Sie die Datei anschließend ab.

    
    if (file != null)
    {
        var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
        VideoBox.SetSource(stream, file.ContentType);
        VideoBox.Stop();
        VideoBox.Play();
    }
    else
    {
        // TODO: No file selected. Handle the error here.
    }
    
    

Zusammenfassung

Sie sollten nun damit vertraut sein, wie Sie auf Inhalte in der Heimnetzgruppe zugreifen.

Verwandte Themen

App-Beispiel für Heimnetzgruppen
Zugreifen auf Daten und Dateien
Schnellstart: Dateizugriff mit Dateiauswahl
Schnellstart: Programmgesteuerter Dateizugriff
Homepage für Windows Store-App-Beispiele
Referenz
Windows.Storage.KnownFolders class

 

 

Anzeigen:
© 2014 Microsoft