DependencyProperty.ReadOnly Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bu DependencyProperty örnek tarafından tanımlanan bağımlılık özelliğinin salt okunur bir bağımlılık özelliği olup olmadığını gösteren bir değer alır.
public:
property bool ReadOnly { bool get(); };
public bool ReadOnly { get; }
member this.ReadOnly : bool
Public ReadOnly Property ReadOnly As Boolean
Özellik Değeri
true bağımlılık özelliği salt okunursa; aksi takdirde , false.
Örnekler
Aşağıdaki örnek, çeşitli bağımlılık özelliği alanlarından varsayılan meta verileri ve bağımlılık özelliği tanımlayıcı özelliklerini alır ve "meta veri tarayıcısı" uygulamak üzere bir tabloyu doldurmak için bu bilgileri kullanır.
pm = dp.GetMetadata(dp.OwnerType);
MetadataClass.Text = pm.GetType().Name;
TypeofPropertyValue.Text = dp.PropertyType.Name;
DefaultPropertyValue.Text = (pm.DefaultValue!=null) ? pm.DefaultValue.ToString() : "null";
HasCoerceValue.Text = (pm.CoerceValueCallback == null) ? "No" : pm.CoerceValueCallback.Method.Name;
HasPropertyChanged.Text = (pm.PropertyChangedCallback == null) ? "No" : pm.PropertyChangedCallback.Method.Name;
ReadOnly.Text = (dp.ReadOnly) ? "Yes" : "No";
pm = dp.GetMetadata(dp.OwnerType)
MetadataClass.Text = pm.GetType().Name
TypeofPropertyValue.Text = dp.PropertyType.Name
DefaultPropertyValue.Text = If((pm.DefaultValue IsNot Nothing), pm.DefaultValue.ToString(), "null")
HasCoerceValue.Text = If((pm.CoerceValueCallback Is Nothing), "No", pm.CoerceValueCallback.Method.Name)
HasPropertyChanged.Text = If((pm.PropertyChangedCallback Is Nothing), "No", pm.PropertyChangedCallback.Method.Name)
[ReadOnly].Text = If((dp.ReadOnly), "Yes", "No")
Açıklamalar
Salt okunur bağımlılık özellikleri, yöntemin aksine RegisterReadOnly yöntemini çağırarak Register özellik sistemi içinde kaydedilir. Ekli özellikler salt okunur olarak da kaydedilebilir; bkz RegisterAttachedReadOnly. .
Salt okunur bağımlılık özellikleri, meta verileri geçersiz kılma veya değeri ayarlama gibi meta veri işlemlerini gerçekleştirmek için tanımlayıcı yerine tanımlayıcı DependencyPropertyKey gerektirirDependencyProperty. Tanımlayıcıları kullanıma sunan bir çağrısı DependencyProperty veya başka bir API aracılığıyla bir tanımlayıcı koleksiyonu GetLocalValueEnumerator aldıysanız, tanımlayıcının temsil ettiği bağımlılık özelliğinin ReadOnly salt okunur olmadığını doğrulamak için bu bağımlılık özelliği tanımlayıcısını bir giriş parametresi olarak çağırmaya SetValue veya OverrideMetadata kullanmaya çalışmadan önce değeri denetleyin. değeri ReadOnly bir bağımlılık özelliğindeysetrue, meta verilerden veya DependencyPropertyKey tanımlayıcıdan bu bağımlılık özelliğinin tanımlayıcısına başvuru DependencyProperty almanın programlı bir yolu yoktur; salt okunur bağımlılık özelliğine karşı çağrı SetValue(DependencyPropertyKey, Object) yapmak için tanımlayıcı statik alan olarak kullanılabilir olmalıdır.
Özel bağımlılık özelliği oluşturduğunuzda ve bunu salt okunur olarak kaydettiğinizde, CLR sarmalayıcı özelliği için yalnızca bir get erişimcisi tanımlamanız gerekir. Aksi takdirde sınıfınız, özellik sarmalayıcısı için, yedekleme bağımlılığı özelliğine erişimle karşılaştırıldığında kafa karıştırıcı bir nesne modeline sahip olur. Ayrıntılar için bkz. Özel Bağımlılık Özellikleri veya Read-Only Bağımlılık Özellikleri.