Aracılığıyla paylaş


x:FieldModifier Yönergesi

Adlandırılmış nesne başvuruları için alanların varsayılan davranış yerine TypeAttributes.NotPublic erişimle TypeAttributes.Public tanımlanması için XAML derleme davranışını değiştirir.

XAML Öznitelik Kullanımı

<object x:FieldModifier="Public".../>

XAML Değerleri

Değer Tanım
Public Belirtmek TypeAttributes.Public için geçirdiğiniz tam dize ile TypeAttributes.NotPublic kullanılan programlama dilinin arkasındaki koda bağlı olarak değişir. Bkz. Açıklamalar.

Bağımlılıklar

Bir XAML üretimi herhangi bir yerde kullanıyorsa x:FieldModifier , bu XAML üretiminin kök öğesi bir x:Class Yönergesi bildirmelidir.

Açıklamalar

x:FieldModifier bir sınıfın genel erişim düzeyini veya üyelerini bildirmek için uygun değildir. Yalnızca bir XAML üretiminin parçası olan belirli bir XAML nesnesi işlendiğinde ve bir uygulamanın nesne grafiğinde erişilebilir olabilecek bir nesneye dönüştüğünde XAML işleme davranışı için geçerlidir. Varsayılan olarak, böyle bir nesnenin alan başvurusu özel tutulur ve bu da denetim tüketicilerinin nesne grafını doğrudan değiştirmesini önler. Bunun yerine, denetim tüketicilerinin düzen kökünü, alt öğe koleksiyonlarını, ayrılmış genel özellikleri vb. alarak programlama modelleri tarafından etkinleştirilen standart desenleri kullanarak nesne grafını değiştirmesi beklenir.

Özniteliğin değeri programlama diline x:FieldModifier göre değişir ve amacı belirli çerçevelerde farklılık gösterebilir. Kullanılacak dize, her dilin ve CodeDomProvider için anlamları tanımlamak için TypeAttributes.PublicTypeAttributes.NotPublicdöndürdüğü tür dönüştürücülerini nasıl uyguladığına ve bu dilin büyük/küçük harfe duyarlı olup olmadığına bağlıdır.

  • C# için, atamaya TypeAttributes.Public geçirilecek dize şeklindedir public.

  • Microsoft Visual Basic .NET için, atamaya TypeAttributes.Public geçirilecek dize şeklindedir Public.

  • C++/CLI için şu anda XAML için hedef yoktur; bu nedenle, geçirilir dize undefined.

Ayrıca TypeAttributes.NotPublic (internal C# dilinde, Friend Visual Basic'te) belirtebilirsiniz, ancak davranış zaten varsayılan olduğundan belirtmek TypeAttributes.NotPublic olağan dışıdır NotPublic .

TypeAttributes.NotPublic varsayılan davranıştır çünkü XAML'yi derleyen derleme dışındaki kodun XAML tarafından oluşturulan bir öğeye erişmesi gerekir. WPF güvenlik mimarisini XAML derleme davranışıyla birlikte, öğesini genel erişime izin verecek şekilde ayarlamadığınız sürece, öğe örneklerinin depolandığı alanları genel olarak bildirmez x:FieldModifier .

x:FieldModifieryalnızca x:Name Yönergesi olan öğeler için geçerlidir çünkü bu ad genel kullanıma açık olduktan sonra alana başvurmak için kullanılır.

Varsayılan olarak, kök öğenin kısmi sınıfı geneldir; ancak x:ClassModifier Yönergesini kullanarak bunu nonpublic yapabilirsiniz. x:ClassModifier Yönergesi, kök öğe sınıfının örneğinin erişim düzeyini de etkiler. Kök öğeye hem hem de x:Namex:FieldModifier koyabilirsiniz, ancak bu yalnızca kök öğenin genel bir alan kopyasını oluşturur ve gerçek kök öğe sınıfı erişim düzeyi hala x:ClassModifier Yönergesi tarafından denetlenmektedir.

Ayrıca bkz.