#

UWP: Öffnen des Dateiexplorers aus einer Windows App

 

Ich möchte aus meiner Windows 10 App den Dateiexplorer starten und dabei einen Ordner öffnen, dessen Pfad ich beim Start übergeben möchte.

(UWP, Universal Windows Platform Anwendung)

 

Lösung:

Hierzu verwendet man den Launcher in Window 10. Der Launcher kann Dateien, Verzeichnisse, Suchergebnisse und Web-Pfade öffnen.

Über Launcher.LaunchFolderAsync(folder) kann man ein Verzeichnis Objekt zur Anzeige öffnen.

Damit man aber ein Verzeichnis übergeben kann, muss man dieses zuvor mit Storagefolder.GetFolderFromPathAsync(Path) ermitteln.

        private async void menuItem_Open_Explorer(object sender, RoutedEventArgs e)

        {

            //--------------< menuItem_Open_Explorer() >--------------

            //< get Folder >

            string sPath = Path;

            StorageFolder folder= await StorageFolder.GetFolderFromPathAsync(sPath);

            //</ get Folder >

 

            //< open File-Explorer >

            await Launcher.LaunchFolderAsync(folder);

            //</ open File-Explorer >

            //--------------</ menuItem_Open_Explorer() >--------------

        }

 

Hierfür werden die Namespaces für den Folder und den Launcher benötigt:

using Windows.System;                   //Launcher

using Windows.Storage;                  //Files File.AccessMode

 

 

Im gezeigten Beispiel starte ich das Open Explorer Event mit einem Flyout-Menü.  Dabei wird der Click Event -> menuItem_open_Explorer gestartet

        <TextBlock x:Name="ctlTitel" Grid.Column="1" Text="Folder" FontFamily="Arial" FontSize="14" TextTrimming="Clip" TextWrapping="Wrap" IsTextSelectionEnabled="True" VerticalAlignment="Center"   Margin="3,0,0,0"

                 IsHitTestVisible="True" RightTapped="ctlTitel_RightTapped"  >

            <FlyoutBase.AttachedFlyout >

                <MenuFlyout x:Name="menuFolderTitle" Placement="Right"  >

                    <MenuFlyoutItem  Text="Open Explorer" FlowDirection="LeftToRight"  Click="menuItem_Open_Explorer"> </MenuFlyoutItem>                   

                </MenuFlyout>

            </FlyoutBase.AttachedFlyout>

        </TextBlock>

 

Das Context-Menü Open Explorer zum Auslösen des Events

 

 

Hieraus folgt dass der Dateiexplorer als separate Anwendung gestartet wird

Und dabei den angegebenen Ordner öffnen


 

Mobile

.

yesmovies