Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Important
WinUI 3 uygulaması mı oluşturuyorsunuz?
Microsoft.Windows.Storage.Pickers ad alanını, bu makalede açıklanan Windows.Storage.Pickers API'ler yerine kullanın. Windows Uygulama SDK'sı seçiciler (Windows Uygulama SDK'sı 1.8 ve üzeri sürümlerde kullanılabilir) WinUI 3 uygulamaları için tasarlanmıştır; pencere işleme başlatması gerektirmez ve basit yol tabanlı sonuçlar döndürürler. Bkz. WinUI'de seçicilerle dosya ve klasörleri açma ve WinUI'de seçiciyle dosya kaydetme.
Bu sayfadaki Windows.Storage.Pickers API'leri UWP uygulamalarına ve yükseltme gerektiren masaüstü uygulamalarına (Windows Uygulama SDK'sı seçicilerin kullanılamadığı durumlarda) uygulanır.
Önemli API'ler
Kullanıcının bir seçiciyle etkileşim kurmasına izin vererek dosyalara ve klasörlere erişin. Dosyalara erişmek için FileOpenPicker ve FileSavePicker sınıflarını, klasöre erişmek için de FolderPicker'ı kullanabilirsiniz.
Uyarı
Tam örnek için bkz. Dosya seçici örneği.
Önkoşullar
Evrensel Windows Platformu (UWP) uygulamaları için asenkron programlamayı anlamak
C# veya Visual Basic'te zaman uyumsuz uygulamalar yazmayı öğrenebilirsiniz. C# veya Visual Basic'te zaman uyumsuz API'leri çağırma hakkında bilgi için bölümüne bakın. C++'ta zaman uyumsuz uygulamalar yazmayı öğrenmek için bkz. C++
Zaman Uyumsuz programlama. Konum erişim izinleri
bkz. Dosya erişim izinleri.
Dosya seçici kullanıcı arabirimi
Dosya seçici, kullanıcıları yönlendirmek ve dosyaları açarken veya kaydederken tutarlı bir deneyim sağlamak için bilgileri görüntüler.
Bu bilgiler şunları içerir:
- Geçerli konum
- Kullanıcının seçtiği öğe veya öğeler
- Kullanıcının göz atabileceği konum ağacı. Bu konumlar müzik veya İndirmeler klasörü gibi dosya sistemi konumlarının yanı sıra dosya seçici sözleşmesini (Kamera, Fotoğraflar ve Microsoft OneDrive gibi) uygulayan uygulamaları içerir.
E-posta uygulaması, kullanıcının ekleri seçmesi için bir dosya seçici görüntüleyebilir.
Seçiciler nasıl çalışır?
Bir seçici ile uygulamanız kullanıcının sistemindeki dosya ve klasörlere erişebilir, dosyalara göz atabilir ve kaydedebilir. Uygulamanız bu seçmeleri StorageFile ve StorageFolder nesneleri olarak alır ve bu nesneler üzerinde çalışabilirsiniz.
Seçici, kullanıcının dosya sisteminden veya diğer uygulamalardan dosya ve klasör seçmesine izin vermek için tek, birleşik bir arabirim kullanır. Diğer uygulamalardan seçilen dosyalar, dosya sistemindeki dosyalar gibidir: StorageFile nesneleri olarak döndürülürler. Genel olarak, uygulamanız bunlar üzerinde diğer nesnelerle aynı şekilde çalışabilir. Diğer uygulamalar, dosya seçici sözleşmelerine katılarak dosyaları kullanılabilir hale getirir. Uygulamanızın diğer uygulamalara dosya, kaydetme konumu veya dosya güncelleştirmeleri sağlamasını istiyorsanız bkz. Dosya seçici sözleşmeleriyle tümleştirme.
Örneğin, kullanıcınızın bir dosyayı açabilmesi için uygulamanızda dosya seçiciyi çağırabilirsiniz. Bu, uygulamanızı arama uygulaması yapar. Dosya seçici, kullanıcının dosyada gezinmesini ve dosyayı seçmesini sağlamak için sistemle ve/veya diğer uygulamalarla etkileşim kurar. Kullanıcınız bir dosya seçtiğinde, dosya seçici bu dosyayı uygulamanıza döndürür. Kullanıcının OneDrive gibi bir sağlama uygulamasından dosya seçmesi durumundaki işlem aşağıdadır.
Tek bir dosya seçin: tam kod listesi
var picker = new Windows.Storage.Pickers.FileOpenPicker();
picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary;
picker.FileTypeFilter.Add(".jpg");
picker.FileTypeFilter.Add(".jpeg");
picker.FileTypeFilter.Add(".png");
Windows.Storage.StorageFile file = await picker.PickSingleFileAsync();
if (file != null)
{
// Application now has read/write access to the picked file
this.textBlock.Text = "Picked photo: " + file.Name;
}
else
{
this.textBlock.Text = "Operation cancelled.";
}
Tek bir dosya seçin: adım adım
Dosya seçici kullanmak, bir dosya seçici nesnesi oluşturup özelleştirmeyi ve ardından kullanıcının bir veya daha fazla öğe seçebilmesi için dosya seçiciyi göstermeyi içerir.
FileOpenPicker oluşturma ve özelleştirme
var picker = new Windows.Storage.Pickers.FileOpenPicker(); picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail; picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.PicturesLibrary; picker.FileTypeFilter.Add(".jpg"); picker.FileTypeFilter.Add(".jpeg"); picker.FileTypeFilter.Add(".png");Kullanıcılarınızla ve uygulamanızla ilgili dosya seçici nesnesinde özellikleri ayarlayın.
Bu örnek, kullanıcının üç özellik ayarlayarak seçebileceği kullanışlı bir konumda resimlerin zengin, görsel bir görüntüsünü oluşturur: ViewMode, SuggestedStartLocation ve FileTypeFilter.
ViewMode'yi PickerViewModeThumbnail enum değeri olarak ayarlamak, dosya seçicideki dosyaları resim küçük resimleri kullanarak zengin ve görsel olarak sergilemeye olanak tanır. Resim veya video gibi görsel dosyaları seçmek için bunu yapın. Aksi takdirde PickerViewMode.List kullanın. Resim veya Video Ekle ve Belge Ekle özelliklerine sahip varsayımsal bir e-posta uygulaması, dosya seçiciyi göstermeden önce özelliğe uygun ViewMode ayarlar.
kullanarak SuggestedStartLocation'ı Resimler olarakPickerLocationId.PicturesLibrary ayarlamak, kullanıcıyı resimleri bulma olasılığı olan bir konumda başlatır. SuggestedStartLocation öğesini seçilmekte olan dosya türüne uygun bir konuma (örneğin, Müzik, Resimler, Videolar veya Belgeler) ayarlayın. Kullanıcı, başlangıç konumundan diğer konumlara gidebilir. Dosya türlerini belirtmek için FileTypeFilter kullanmak, kullanıcının ilgili dosyaları seçmeye odaklanmasını sağlar. FileTypeFilter'daki önceki dosya türlerini yeni girdilerle değiştirmek için Ekle yerine ReplaceAll kullanın.
FileOpenPicker Gösterme
Tek bir dosya seçmek için
Windows.Storage.StorageFile file = await picker.PickSingleFileAsync(); if (file != null) { // Application now has read/write access to the picked file this.textBlock.Text = "Picked photo: " + file.Name; } else { this.textBlock.Text = "Operation cancelled."; }Birden çok dosya seçmek için
var files = await picker.PickMultipleFilesAsync(); if (files.Count > 0) { StringBuilder output = new StringBuilder("Picked files:\n"); // Application now has read/write access to the picked file(s) foreach (Windows.Storage.StorageFile file in files) { output.Append(file.Name + "\n"); } this.textBlock.Text = output.ToString(); } else { this.textBlock.Text = "Operation cancelled."; }
Bir klasör seçin: tam kod listesi
var folderPicker = new Windows.Storage.Pickers.FolderPicker();
folderPicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.Desktop;
folderPicker.FileTypeFilter.Add("*");
Windows.Storage.StorageFolder folder = await folderPicker.PickSingleFolderAsync();
if (folder != null)
{
// Application now has read/write access to all contents in the picked folder
// (including other sub-folder contents)
Windows.Storage.AccessCache.StorageApplicationPermissions.
FutureAccessList.AddOrReplace("PickedFolderToken", folder);
this.textBlock.Text = "Picked folder: " + folder.Name;
}
else
{
this.textBlock.Text = "Operation cancelled.";
}
Tavsiye
Uygulamanız bir seçici aracılığıyla bir dosyaya veya klasöre her eriştiğinde, onu takip etmek için uygulamanızın FutureAccessList veya MostRecentlyUsedList listesine ekleyin. Bu listeleri kullanma hakkında daha fazla bilgi için bkz. Son kullanılan dosya ve klasörleri izleme.
Ayrıca bakınız
Windows.Storage.Pickers
dosyalar, klasörler ve kitaplıklar