0

私は現在、より複雑なものの概念実証として、単純なWindows8アプリに取り組んでいます。

現在、1つのテキストボックスと2つのボタンがあります。1つのボタンでフォルダを選択できます(テキストボックスにフォルダパスが表示されます)。

もう1つのボタンは、現在選択されているフォルダー内の最初の5つの画像の絶対パスを返すはずですがFileOpenPicker、Win8アプリでの使用に問題があります。

私がやりたいのは、このボタンをクリックすると、画像の最初の5つのパスを返すのではなく、右に伸ばすのではなく、下に伸ばすように、このようにグリッド形式で表示したいということです。従来のウェブサイト。

スクリーンショット

私がこれまでに持っているもの:

XAML:

<StackPanel Grid.Row="2" Margin="120,0,0,0">
    <StackPanel Orientation="Horizontal" Margin="0,20,0,20">
        <TextBox  x:Name="pictureInput" HorizontalAlignment="Left" Grid.Row="2" TextWrapping="Wrap" Text="Select Image..." VerticalAlignment="Top" Width="300" Height="41" FontSize="24"/>
        <Button Content="Browse" HorizontalAlignment="Left" Grid.Row="1" VerticalAlignment="Top" Height="41" Width="147" Click="Browse_Folder_Click"/>
        <TextBlock x:Name="ImgThumbHere" Grid.Column="2" Width="540"/>
        <Button Content="Find Images" HorizontalAlignment="Left" VerticalAlignment="Top" Height="90"  Width="250" Click="Find_Images"/>
    </StackPanel>
</StackPanel>

Xaml.CS:

//method to select folder : 
     private async void Browse_Folder_Click(object sender, RoutedEventArgs e)
        {
            string folderPath = "";
            FolderPicker folderPicker = new Windows.Storage.Pickers.FolderPicker();
            // Create the picker object and set options
            folderPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
            // Users expect to have a filtered view of their folders depending on the scenario.
            // For example, when choosing a documents folder, restrict the filetypes to documents for your application.
            folderPicker.FileTypeFilter.Add("*");

            StorageFolder folder = await folderPicker.PickSingleFolderAsync();
            if (folder != null)
            {
                if (folder.Path != "" && folder.Path != null)
                {
                    folderPath = folder.Path;
                }
                else
                {
                    folderPath = folder.Name;
                }
            }
            else
            {
                throw new Exception("Folder path null.");
            }
            folderInput.Text = folderPath;
        }

//attempt at method to select first 5 images of selected folder : 

    private async void Find_Images(object sender, RoutedEventArgs e)
        {
            string[] picturePath;
            FileOpenPicker picPicker = new Windows.Storage.Pickers.FileOpenPicker();
            picPicker.ViewMode = PickerViewMode.Thumbnail;
            // Create the picker object and set options
            picPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
            // Users expect to have a filtered view of their folders depending on the scenario.
            // For example, when choosing a documents folder, restrict the filetypes to documents for your application.
            picPicker.FileTypeFilter.Add(".png");
            picPicker.FileTypeFilter.Add(".jpg");
            picPicker.FileTypeFilter.Add(".jpeg");
            picPicker.FileTypeFilter.Add(".gif");
            picPicker.FileTypeFilter.Add(".bmp");

            for (int i = 0; i < 5; i++)
            {
                StorageFile file = picPicker.//What can be called here to return paths ?
                if (file != null)
                {
                    picturePath[i] = file.path;
                }
                else
                {
                    throw new Exception("File path null.");
                }
            }
        }

誰かが私がこれを解決するのを手伝ってくれますか?

どうもありがとう。

4

1 に答える 1

1

http://msdn.microsoft.com/en-us/library/windows/apps/xaml/Hh758319(v=win.10).aspxをご覧ください

設計上、次の制限があります。

  • ローカルストレージにアクセスする
  • いくつかの有名な保管場所にアクセスする
  • 特別に許可された場所にアクセスする
于 2013-01-07T21:42:18.263 に答える