x:Subclass Yönergesi
Ayrıca sağlandığında x:Class
XAML işaretleme derleme davranışını değiştirir. öğesini temel alan x:Class
kısmi bir sınıf oluşturmak yerine, sağlanan x:Class
bir ara sınıf olarak oluşturulur ve ardından sağlanan türetilmiş sınıfınızın temel x:Class
alınması beklenir.
XAML Öznitelik Kullanımı
<object x:Class="namespace.classname" x:Subclass="subclassNamespace.subclassName">
...
</object>
XAML Değerleri
Değer | Tanım |
---|---|
namespace |
isteğe bağlı. içeren classname bir CLR ad alanı belirtir. Belirtilirsenamespace , nokta (.) ve classname öğesini ayırırnamespace . |
classname |
Gerekli. Yüklenen XAML'yi ve bu XAML için arka planınızı bağlayan kısmi sınıfın CLR adını belirtir. Bkz. Açıklamalar. |
subclassNamespace |
isteğe bağlı. Her ad alanının diğer ad alanını çözümleyebildiğinden namespace farklı olabilir. içeren subclassName bir CLR ad alanı belirtir. BelirtilirsesubclassName , nokta (.) ve subclassName öğesini ayırırsubclassNamespace . |
subclassName |
Gerekli. Alt sınıfın CLR adını belirtir. |
Bağımlılıklar
x:Class Yönergesi de aynı nesne üzerinde sağlanmalıdır ve bu nesne XAML üretiminin kök öğesi olmalıdır.
Açıklamalar
x:Subclass
kullanım öncelikli olarak kısmi sınıf bildirimlerini desteklemeyen diller için tasarlanmıştır.
olarak x:Subclass
kullanılan sınıf iç içe geçmiş bir sınıf olamaz ve x:Subclass
"Bağımlılıklar" bölümünde açıklandığı gibi kök nesneye başvurmalıdır.
Aksi takdirde, kavramsal anlamı x:Subclass
bir .NET XAML Hizmetleri uygulaması tarafından tanımlanmamıştır. Bunun nedeni, .NET XAML Hizmetleri davranışının XAML işaretleme ve yedekleme kodunun bağlı olduğu genel programlama modelini belirtmemesidir. ve ile ilgili x:Class
diğer kavramların uygulamaları, XAML işaretlemesi, derlenmiş işaretleme ve x:Subclass
CLR tabanlı arka planda kod bağlamayı tanımlamak için programlama modellerini veya uygulama modellerini kullanan belirli çerçeveler tarafından gerçekleştirilir. Her çerçevenin, bazı davranışları veya derleme ortamına eklenmesi gereken belirli bileşenleri etkinleştiren kendi derleme eylemleri olabilir. Bir çerçeve içinde, derleme eylemleri arka planda kod için kullanılan belirli CLR diline göre de farklılık gösterebilir.
WPF Kullanım Notları
x:Subclass
bir sayfa kökünde veya Application zaten olan x:Class
uygulama tanımındaki kökte olabilir. x:Subclass
Sayfa veya uygulama kökü dışındaki herhangi bir öğede bildirimde bulunma veya var olmayan x:Class
bir yerde belirtme, derleme zamanı hatasına neden olur.
Senaryo için doğru çalışan türetilmiş sınıflar x:Subclass
oluşturmak oldukça karmaşıktır. Ara dosyaları (.xaml dosya adlarını içeren adlarla, işaretleme derlemesi ile projenizin obj klasöründe üretilen .g dosyaları) incelemeniz gerekebilir. Bu ara dosyalar, derlenen uygulamadaki birleştirilmiş kısmi sınıflardaki belirli programlama yapılarının kaynağını belirlemenize yardımcı olabilir.
Türetilmiş sınıftaki olay işleyicileri, derleme sırasında ara sınıfta oluşturulan işleyicilerin saplamalarını geçersiz kılmak için (Friend Overrides
Microsoft Visual Basic'te) olmalıdır internal override
. Aksi takdirde türetilmiş sınıf uygulamaları ara sınıf uygulamasını gizler (gölgelenir) ve ara sınıf işleyicileri çağrılmıyor.
hem x:Subclass
hem de x:Class
tanımladığınızda, tarafından x:Class
başvuruda bulunu olan sınıfı için herhangi bir uygulama sağlamanız gerekmez. Derleyicinin x:Class
ara dosyalarda oluşturduğu sınıf için bazı yönergelere sahip olması için yalnızca özniteliği aracılığıyla bir ad vermeniz gerekir (derleyici bu durumda varsayılan bir ad seçmez). Sınıfına x:Class
bir uygulama verebilirsiniz; ancak bu, hem x:Subclass
hem de x:Class
kullanmak için tipik bir senaryo değildir.
Ayrıca bkz.
.NET Desktop feedback
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin