保存加载UWP的文件夹路径

时间:2018-03-25 16:54:42

标签: c# image uwp

保存要加载的文件夹路径

我上传了FilePicker选择的文件夹中的图片,但是,我想(在我第一次选择文件夹之后),当我启动应用程序时,自动加载所选文件夹,而不必从选取器文件中检索它每一次。

MainPage.xaml中:

<Grid Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
    <Button x:Name="btnPickFolder" 
            Content="Pick Folder" 
            Click="btnPickFolder_Click" 
            HorizontalAlignment="Left" 
            Margin="10,10,0,0" 
            VerticalAlignment="Top"/>
    <Grid x:Name="GridShowImages" HorizontalAlignment="Stretch" Margin="20,52,20,20">
        <GridView x:Name="ListViewImage" ItemsSource="{x:Bind listImage}">
            <GridView.ItemTemplate>
                <DataTemplate x:DataType="local:SingleImage">
                    <Image Source="{x:Bind ImageToLoad}" 
                           Margin="5" 
                           Width="300" 
                           Height="168.75"/>
                </DataTemplate>
            </GridView.ItemTemplate>
        </GridView>
    </Grid>
</Grid>

MainPage.xaml.cs中:

public sealed partial class MainPage : Page
{
    ObservableCollection<SingleImage> listImage = new ObservableCollection<SingleImage>();

    public MainPage()
    {
        this.InitializeComponent();
    }

    private async void btnPickFolder_Click(object sender, RoutedEventArgs e)
    {
        FolderPicker folderPicker = new FolderPicker();
        folderPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
        folderPicker.FileTypeFilter.Add("*");
        StorageFolder SelectFolderToLoad = await folderPicker.PickSingleFolderAsync();
        StorageApplicationPermissions.FutureAccessList.AddOrReplace("PickedFolderToken", SelectFolderToLoad);

        foreach (var file in await SelectFolderToLoad.GetFilesAsync())
        {
            BitmapImage bmp = new BitmapImage();
            IRandomAccessStream stream = await file.OpenReadAsync();
            bmp.SetSource(stream);
            listImage.Add(new SingleImage() { ImageToLoad = bmp });
            StorageFolder StorageParent = await file.GetParentAsync();
        }
    }
}

SingleImage类:

public class SingleImage
{
    public BitmapImage ImageToLoad { get; set; }
}

1 个答案:

答案 0 :(得分:1)