Aracılığıyla paylaş


DependencyProperty.ReadOnly Özellik

Tanım

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

Boolean

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 Register yöntemini çağırarak RegisterReadOnly ö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 DependencyProperty tanımlayıcı gerektirirDependencyPropertyKey. Tanımlayıcıları kullanıma sunan bir çağrısı GetLocalValueEnumerator veya başka bir API aracılığıyla tanımlayıcı koleksiyonu DependencyProperty 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ı çağırmaya SetValue veya OverrideMetadata giriş parametresi olarak kullanmaya çalışmadan önce değeri denetleyin. değeri ReadOnly bir bağımlılık özelliğindeysetrue, meta verilerden veya DependencyProperty tanımlayıcıdan bu bağımlılık özelliğinin tanımlayıcısına başvuru DependencyPropertyKey almanın programlı bir yolu yoktur; salt okunur bir 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 bir 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, yedekleme bağımlılığı özelliğine erişimle karşılaştırıldığında özellik sarmalayıcısı için kafa karıştırıcı bir nesne modeline sahip olur. Ayrıntılar için bkz. Özel Bağımlılık Özellikleri veya Salt Okunur Bağımlılık Özellikleri.

Şunlara uygulanır

Ayrıca bkz.