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.
XAML projelerinde çalışan geliştiricilerin genellikle uygulamalarında XAML veri bağlama hatalarını algılaması ve çözmesi gerekir. Artık Visual Studio 2019 sürüm 16.8 veya üzeri ve Visual Studio 2022'de, uygulamanızda hata ayıklarken bu can sıkıcı veri bağlama hatalarını bulmanıza yardımcı olacak araçlar vardır. Yaygın bağlama hatalarına örnek olarak şunlar verilebilir:
- Var olmayan bir özellik adına bağlama:
{Binding Wrong.Name} - Yanlış türde bir değere bağlanma, örneğin sabit listesi gerektiğinde Boolean değerine bağlanma:
Visibility="{Binding IsVisible}"
Bu bağlamalar çalışma zamanında yansıma kullanılarak hesaplandığından, XAML düzenleyicisi bunları her zaman yakalayamaz ve derlemeniz yine de başarılı olur. Hata yalnızca çalışma zamanında gerçekleşir.
XAML veri bağlaması şu makalelerde açıklanmıştır:
- WPF için: Veri bağlamaya genel bakış - WPF .NET
- UWP için: Veri bağlamaya genel bakış - UWP uygulamaları
- Xamarin.Forms için: Xamarin.Forms Veri Bağlama - Xamarin
- .NET MAUI için: .NET MAUI Veri Bağlama
Bağlama hataları her zaman Visual Studio'daki hata ayıklama çıktı penceresine yazılmıştır. Ancak, bağlama hatalarını görüntüden kaydıran diğer hata ayıklama bilgilerini içerdiğinden, hata ayıklama çıkışındaki bağlama hatalarını kolayca kaçırabilirsiniz. Hata ayıklama çıkış penceresinde wpf bağlama hatası örneği aşağıda verilmiştir:
Bağlama hatası pencerenin üst kısmından yüzlerce satır olabilir ve metin size tam olarak hangi bağlamanın başarısız olduğunu göstermez, bu nedenle bunu düşünmeniz ve aramanız gerekir.
Artık XAML Bağlama Hataları araç penceresiyle, hangi bağlamaların başarısız olduğunu ve XAML içindeki dosya konumu gibi her hata için ilgili verileri net bir şekilde görebilirsiniz. Ayrıca, arama ve sıralama yoluyla ya da odak noktası başarısız bağlamada ayarlanmış olarak XAML düzenleyicisini açarak hataları araştırmak için birçok kullanışlı özellik bulunmaktadır.
Bu satırlara çift tıklanması, aşağıdaki görüntüde gösterildiği gibi bağlamanın kaynak XAML'sini açar:
XAML Bağlama Hataları araç penceresi
Hata ayıklama sırasında XAML Bağlama Hataları araç penceresi kullanılabilir. Açmak için Hata Ayıklama>Windows>XAML Bağlama Hatalarıüzerine gidin.
Veya uygulama araç çubuğunda Bağlantı Hataları düğmesini seçin. Simgenin yanındaki sayı, araç penceresinde kaç bağlama hatasının gösterildiğini gösterir.
Araç penceresinde bağlama hatası olmadığında, simge yanında bir sayı olmadan gri olarak gösterilir. Bu, uygulamanızı çalıştırırken yararlı olur. Simgenin bir sayıyla kırmızıya dönüşmesini görürseniz, hangi bağlama hatalarının oluştuğuna bakmak için araç penceresine hızla atlamak için simgeye tıklayın. Visual Studio araç pencerelerini gözlemlemeniz gerekmez. Bağlama başarısız olduğunda simge durumu size anlık durumu gösterir.
Canlı Görsel Ağaç araç penceresindebenzer bir simge de görünür.
Aşağıda, XAML Bağlama Hataları araç penceresinin tüm bileşenlerinin açıklaması yer alır.
- Üstteki araç çubuğunda aşağıdaki düğmeler bulunur:
- hataların listesini temizleyin: Uygulamanızda yeni bir sayfa göstermek üzereyseniz ve bağlama hatalarının gösterilip gösterilmediğini görmek istiyorsanız bu yararlı olur. Yeni bir hata ayıklama oturumu başlattığınızda, liste otomatik olarak temizlenir.
- Seçili satırları sil: Bir hata düzeltildiyse veya ilgili değilse, listeden silebilirsiniz. Bağlama yeniden başarısız olursa silinen satırlar yeniden gösterilir.
- Tüm filtreleri temizle: Listede metin arama gibi filtreler varsa, bu düğme bunları temizler ve listenin tamamını gösterir.
- Yinelenenleri Birleştir: Aynı bağlantı, bir öğe şablonu içinde olduğunda genellikle art arda birçok kez başarısız olur. Yinelemeleri Birleştir düğmesi seçildiğinde (çevresinde bir ana hat bulunur) tüm yinelenen hatalar tek satır olarak gösterilir. Count sütununda hatanın kaç kez oluştuğu gösterilir.
- Üst köşedeki Arama Bağlama Hataları kutusu, hataları yalnızca belirli metin içerenlere göre filtrelemenizi sağlar.
- Tablo sütunları sırayla şunları gösterir:
- Satırın bir hata veya uyarı için olup olmadığını gösteren simge.
- XAML'de başarısız
<>'e gezinme destekleniyorsa açılı ayraçları gösteren bir simge{Binding}bulunur. Desteklenen Platformlar bölümüne bakın. -
Veri Bağlamı: Bu, bağlamanın kaynak nesnesinin tür adıdır
- Bkz. Binding.Source
-
Bağlama Yolu: Bu, bağlamanın özellik yoludur
- Bkz. Binding.Path
- Hedef: Bu seçenek, bağlamanın değerinin ayarlandığı tür ve özellik adıdır.
- Hedef Türü: Bu, bağlamanın hedef özelliğinin beklenen türüdür.
- Açıklama: Bu sütun bağlama için tam olarak başarısız olan şey hakkında daha fazla bilgi içerir.
- Dosya, Satırve Proje: Bu, biliniyorsa, XAML'de bağlamanın tanımlandığı konumdur.
- Bir satıra veya seçili birden çok satıra sağ tıklanması, sütunları göstermek/gizlemek veya gruplandırma için standart seçenekler içeren bir bağlam menüsü gösterir. Diğer seçenekler şunlardır:
- Bir satırdaki veya tek bir sütundaki tüm metni panoya kopyalayın.
- Özgün Hatayı Kopyala, hata ayıklama çıktı penceresinde görüntülenen metni kopyalar.
- Görünüm Kaynağı, seçilen bir satır için XAML'deki bağlama kaynağına gider.
- Sütunları Sıfırla, sütun görünürlüğü ve sıralamada yapılan tüm değişiklikleri geri alarak başlangıçta gösterilen duruma hızla dönmenizi sağlar.
Listeyi sıralamak için herhangi bir sütun üst bilgisine tıklayın. Ek sütuna göre yeniden sıralamak için Shift tuşunu basılı tutun ve başka bir sütun üst bilgisine tıklayın. Hangi sütunların görüntüleneceğini ve hangilerinin gizleneceğini seçmek için kısayol menüsünden Sütunları Göster seçin. Sütunların görüntülenme sırasını değiştirmek için herhangi bir sütun başlığını sola veya sağa sürükleyin.
Bir satıra çift tıkladıktan veya kaynağa gitmek için Enter bastıktan sonra, bağlama hataları listesinde aşağı veya yukarı gitmek için F8 veya Shift+F8 basabilirsiniz. Bu, Visual Studio'da liste gösteren diğer bölmelere benzer.
Desteklenen platformlar
Bağlama hataları çıkışta hata ayıklamak için yazıldığında çoğu XAML platformu desteklenir. Bazı platformlar, hata ayıklayıcıya kaynağa gezinmeye izin veren ek kaynak bilgileri sağlar.
| Platform | Desteklenen | Desteklenen kaynağa git |
|---|---|---|
| WPF .NET Framework | Evet | Hayır |
| WPF .NET 5.0 RC2+ | Evet | Evet |
| UWP | Evet | Hayır |
| WinUI3 masaüstü | Evet | Hayır |
| MAUI (Çok platformlu Uygulama Kullanıcı Arabirimi) | Evet | Hayır |
| Xamarin 4.5.0.266-pre3+ | Evet | Evet |
| 4.5.0.266-pre3 sürümü öncesi Xamarin | Hayır | Hayır |
Kaynağa gitmeyi desteklemek için Visual Studio'da XAML Hot Reload özelliğinin etkinleştirilmesi gerekir. Araçlar>Seçenekleri bölmesinde Tüm Ayarlar>Hata Ayıklama>XAML Çalışırken Yeniden Yükleme bölümünü genişletin ve XAML Çalışırken Yeniden Yüklemeyi Etkinleştir onay kutusunu seçin.
Kaynağa gitmeyi desteklemek için Visual Studio'da XAML Hot Reload özelliğinin etkinleştirilmesi gerekir. Araçlar>Seçenekleri iletişim kutusunda Hata Ayıklama>XAML Çalışırken Yeniden Yükleme bölümünü genişletin, XAML Çalışırken Yeniden YüklemeyiEtkinleştir onay kutusunu ve ardından Tamam'ı seçin.
Kaynağa gitmek yalnızca XAML kaynak dosyalarında tanımlanan bağlamalar için çalışır; kod aracılığıyla oluşturulduklarında çalışmaz. Hangi satırların kaynağa gezinmeyi desteklediğini net bir şekilde görebilirsiniz. İkinci sütunda köşeli parantez simgesi yoksa, aşağıdaki ekran görüntüsünde vurgulanan satır gibi kaynağa gidilemez.
.NET Framework'teki WPF için, XAML Bağlama Hataları bölmesinin bunları algılaması ve göstermesi için hata ayıklama çıkışında veri bağlama hataları gösterilmelidir. Araçlar> bölmesindeki Tüm Ayarlar>>> bölümünün altında Veri Bağlama ayarını yapılandırın.
.NET Framework'teki WPF için, XAML Bağlama Hataları bölmesinin bunları algılaması ve göstermesi için hata ayıklama çıkışında veri bağlama hataları gösterilmelidir. Araçlar> iletişim kutusundaki Veri Bağlama ayarını, Hata Ayıklama>Çıktı Penceresi bölümü WPF İzleme Ayarları grubu altında yapılandırın.
Ayar değeri ya Kapalı ya da Kritik ise veri bağlama hataları hata ayıklama çıktısına yazılmaz ve algılanamaz. .NET 5, .NET 6 ve sonraki sürümlerde WPF ile veri bağlama çıkış ayarı hata listesini etkilemez.