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.
Kopyalama ve yapıştırma, kullanıcıların uygulamalar arasında veya bir uygulama içinde veri alışverişi yapmak için temel bir yoldur. Bu makalede, pano API'lerini kullanarak WinUI ve Evrensel Windows Platformu (UWP) uygulamalarına kopyalama ve yapıştırma uygulama işlemi gösterilmektedir. Verileri kopyalamayı, kesmeyi ve yapıştırmayı, pano değişikliklerini izlemeyi ve farklı veri biçimlerini işlemek için DataPackage sınıfını kullanmayı öğreneceksiniz.
Uyarı
Bu API'leri Windows Çalışma Zamanı (WinRT) API'leri aracılığıyla diğer masaüstü uygulamalarında da kullanabilirsiniz. Daha fazla bilgi için bkz. Masaüstü uygulamalarında Windows Çalışma Zamanı API'lerini çağırma.
Farklı kopyalama ve yapıştırma senaryolarını gösteren eksiksiz kod örnekleri için GitHub'da UWP pano örneğine bakın.
Yerleşik pano desteğini kontrol et
Çoğu durumda, pano işlemlerini desteklemek için kod yazmanız gerekmez. Uygulamalar oluşturmak için kullanabileceğiniz varsayılan XAML denetimlerinin çoğu pano işlemlerini zaten destekler.
Kurulumu gerçekleştir
İlk olarak, uygulamanıza Windows.ApplicationModel.DataTransfer ad alanını ekleyin. Ardından DataPackage nesnesinin bir örneğini ekleyin. Bu nesne hem kullanıcının kopyalamak istediği verileri hem de eklemek istediğiniz özellikleri (açıklama gibi) içerir.
Kopyalama ve kesme
Kopyalama ve kesme ( taşıma olarak da adlandırılır) neredeyse aynı şekilde çalışır. RequestedOperation özelliğini kullanarak istediğiniz işlemi seçin.
// copy
dataPackage.RequestedOperation = DataPackageOperation.Copy;
// or cut
dataPackage.RequestedOperation = DataPackageOperation.Move;
Kopyalanan içeriği ayarlama
Ardından, kullanıcının seçtiği verileri DataPackage nesnesine ekleyebilirsiniz. Bu veriler DataPackage sınıfı tarafından destekleniyorsa, DataPackage nesnesinin karşılık gelen yöntemlerinden birini kullanabilirsiniz. SetText yöntemini kullanarak şu şekilde metin ekleyebilirsiniz:
Son adım, statik SetContent yöntemini çağırarak DataPackage'ı panoya eklemektir.
Yapıştır
Panonun içeriğini almak için statik GetContent yöntemini çağırın. Bu yöntem, içeriği içeren bir DataPackageView döndürür. Bu nesne, içeriğinin salt okunur olması dışında datapackage nesnesiyle neredeyse aynıdır. Bu nesneyle, hangi biçimlerin kullanılabilir olduğunu belirlemek için AvailableFormats veya Contains yöntemini kullanabilirsiniz. Ardından, verileri almak için ilgili DataPackageView yöntemini çağırabilirsiniz.
async void OutputClipboardText()
{
DataPackageView dataPackageView = Clipboard.GetContent();
if (dataPackageView.Contains(StandardDataFormats.Text))
{
string text = await dataPackageView.GetTextAsync();
// To output the text from this example, you need a TextBlock control
TextOutput.Text = "Clipboard now contains: " + text;
}
}
Panoya yapılan değişiklikleri izleme
Kopyalama ve yapıştırma komutlarına ek olarak, pano değişikliklerini de izlemek isteyebilirsiniz. Panonun ContentChanged olayını işleyerek bunu yapın.
Clipboard.ContentChanged += async (s, e) =>
{
DataPackageView dataPackageView = Clipboard.GetContent();
if (dataPackageView.Contains(StandardDataFormats.Text))
{
string text = await dataPackageView.GetTextAsync();
// To output the text from this example, you need a TextBlock control
TextOutput.Text = "Clipboard now contains: " + text;
}
}
İlgili içerik
Windows developer