Kezdőoldal > Windows 8 > FilePicker

FilePicker

2012. november 27. kedd Hozzászólás Go to comments

Windows-os alkalmazásainknál gyakran voltak dialógusok: Open File Dialog vagy Save File Dialog. Ez a Windows Store alkalmazásoknál nincs, illetve nem olyan módon, mint amilyen korábban volt. Az alábbi ábrán egy régebbi típusú Windows Open File Dialogust látunk.

image

Windows Store alkalmazásoknál is van lehetőség ehhez hasonló dialógusok (párbeszédablakok) használatára, csak a vizuális reprezentációja hozzá idomul a környezetéhez. Ennek a használatához szükségünk lesz a Windows.Storage és a Windows.Storage.Pickers névtérre.

using Windows.Storage;
using Windows.Storage.Pickers;

Ha egy fájlt meg akarunk nyitni, akkor a FileOpenPicker példányra lesz szükségünk. A FileOpenPicker-nek van egy ViewMode tulajdonsága, amivel beállítható, hogy a megjelenő fájlok Thumbnail (előnézeti kép) vagy Lista formájában jelenjenek meg. A FileOpenPicker FileTypeFilter gyűjteményéhez hozzáadhatjuk azokat a kiterjesztéseket, amik az alkalmazásunk számára lényegesek. Ha csak egy fájlt akarunk kiválasztani és megnyitni, akkor a PickSingleFileAsync metódusra lesz szükségünk. Ennek a visszatérési értéke most egy darab StorageFile lesz.

FileOpenPicker fileOpenPicker = new FileOpenPicker();
fileOpenPicker.ViewMode = PickerViewMode.List;
fileOpenPicker.FileTypeFilter.Add(".png");

StorageFile file = await fileOpenPicker.PickSingleFileAsync();
txtInfo.Text = file.Name;

 

image

Ha több fájlt szeretnénk kiválasztani, ehhez a PickMultipleFilesAsync metódust kell használnunk. Ennek visszatérési értéke egy IReadOnlyList, ami StorageFile-okat tartalmaz. Az alábbi példa ennek felhasználását mutatja be.

IReadOnlyList<StorageFile> files = await fileOpenPicker.PickMultipleFilesAsync();
StringBuilder fileNames = new StringBuilder();
foreach (StorageFile file in files)
{
    fileNames.AppendLine(file.Name);
}

Ha menteni szeretnénk, akkor a FileSavePicker osztályra lesz szükségünk. Itt az egyik legfontosabb gyűjtemény a FileTypeChoices, amelyhez hozzáadhatjuk, hogy milyen fájlformátumban szeretnénk menteni a fájlt. Ebben az esetben is a PickSaveFileAsync metódusra lesz szükségünk, aminek a visszatérési értéke egy StorageFile.

FileSavePicker fileSavePicker = new FileSavePicker();
fileSavePicker.FileTypeChoices.Add("PNG", new string[] { ".png" });

StorageFile file = await fileSavePicker.PickSaveFileAsync();

A felhasználói felület picit módosul a FileOpenPicker-hez képest, ugyanis a képernyő alján az alábbi felület lesz a segítségünkre, hogy megadjuk a fájl nevét és típusát.

image

Advertisements
  1. Még nincs hozzászólás.
  1. No trackbacks yet.

Vélemény, hozzászólás?

Adatok megadása vagy bejelentkezés valamelyik ikonnal:

WordPress.com Logo

Hozzászólhat a WordPress.com felhasználói fiók használatával. Kilépés / Módosítás )

Twitter kép

Hozzászólhat a Twitter felhasználói fiók használatával. Kilépés / Módosítás )

Facebook kép

Hozzászólhat a Facebook felhasználói fiók használatával. Kilépés / Módosítás )

Google+ kép

Hozzászólhat a Google+ felhasználói fiók használatával. Kilépés / Módosítás )

Kapcsolódás: %s

%d blogger ezt kedveli: