DependencyProperty.RegisterReadOnly Yöntem

Tanım

Bağımlılık özelliğini salt okunur bağımlılık özelliği olarak kaydeder.

Aşırı Yüklemeler

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Belirtilen özellik türü, sahip türü ve özellik meta verileriyle salt okunur bağımlılık özelliğini kaydeder.

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Belirtilen özellik türü, sahip türü, özellik meta verileri ve doğrulama geri çağırması ile salt okunur bağımlılık özelliğini kaydeder.

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Belirtilen özellik türü, sahip türü ve özellik meta verileriyle salt okunur bağımlılık özelliğini kaydeder.

public:
 static System::Windows::DependencyPropertyKey ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata);
public static System.Windows.DependencyPropertyKey RegisterReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata);
static member RegisterReadOnly : string * Type * Type * System.Windows.PropertyMetadata -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterReadOnly (name As String, propertyType As Type, ownerType As Type, typeMetadata As PropertyMetadata) As DependencyPropertyKey

Parametreler

name
String

Kaydedilecek bağımlılık özelliğinin adı.

propertyType
Type

Özelliğin türü.

ownerType
Type

Bağımlılık özelliğini kaydeden sahip türü.

typeMetadata
PropertyMetadata

Bağımlılık özelliği için özellik meta verileri.

Döndürülenler

DependencyPropertyKey

Sınıfınızdaki statik bir salt okunur alanın değerini ayarlamak için kullanılması gereken bağımlılık özellik anahtarı, bağımlılık özelliğine başvurmak için kullanılır.

Örnekler

Aşağıdaki örnek bir AquariumSize bağımlılık özelliğini salt okunur olarak kaydeder. Örnek bir iç anahtar olarak tanımlar AquariumSizeKey (böylece derlemedeki diğer sınıflar meta verileri geçersiz kılabilir) ve bu anahtarı temel alan bağımlılık özelliği tanımlayıcısını olarak AquariumSizePropertykullanıma sunar. Ayrıca, için AquariumSizeyalnızca get erişimcisiyle bir sarmalayıcı oluşturulur.

internal static readonly DependencyPropertyKey AquariumSizeKey = DependencyProperty.RegisterReadOnly(
  "AquariumSize",
  typeof(double),
  typeof(Aquarium),
  new PropertyMetadata(double.NaN)
);
public static readonly DependencyProperty AquariumSizeProperty =
  AquariumSizeKey.DependencyProperty;
public double AquariumSize
{
  get { return (double)GetValue(AquariumSizeProperty); }
}
Friend Shared ReadOnly AquariumSizeKey As DependencyPropertyKey = DependencyProperty.RegisterReadOnly("AquariumSize", GetType(Double), GetType(Aquarium), New PropertyMetadata(Double.NaN))
Public Shared ReadOnly AquariumSizeProperty As DependencyProperty = AquariumSizeKey.DependencyProperty
Public ReadOnly Property AquariumSize() As Double
    Get
        Return CDbl(GetValue(AquariumSizeProperty))
    End Get
End Property

Açıklamalar

Bu yöntem türünü DependencyPropertyKeydöndürürken RegisterAttached , türünü DependencyPropertydöndürür. Genellikle, salt okunur özellikleri temsil eden anahtarlar genel yapılmaz, çünkü anahtarlar çağrılarak SetValue(DependencyPropertyKey, Object)bağımlılık özelliği değerini ayarlamak için kullanılabilir. Sınıf tasarımınız gereksinimlerinizi etkiler, ancak bunların erişimini ve görünürlüğünü kodunuzun DependencyPropertyKey yalnızca bu bağımlılık özelliğini sınıf veya uygulama mantığının bir parçası olarak ayarlamak için gerekli olan bölümleriyle sınırlamanız önerilir. Ayrıca, değerini sınıfınızda bir alan olarak kullanıma sunarak salt okunur bağımlılık özelliği için bağımlılık public static readonly özelliği tanımlayıcısını DependencyPropertyKey.DependencyProperty kullanıma sunmanız önerilir.

Salt okunur bağımlılık özellikleri, hem mevcut API'de hem de özelleştirme senaryolarında oldukça tipik bir senaryodur, çünkü diğer WPF özellikleri çağıranların ayarlayabileceği şekilde tasarlanmamış olsa bile bir bağımlılık özelliği gerektirebilir. Salt okunur bağımlılık özelliğinin değerini, bağımlılık özelliğini bir stildeki bağımlılık özelliğine dayandırma Trigger gibi bir bağımlılık özelliği alan diğer özellik sistemi işlemleri için temel olarak kullanabilirsiniz.

Bağımlılık özelliği kaydı hakkında daha fazla bilgi için bkz DependencyProperty. .

Şunlara uygulanır

RegisterReadOnly(String, Type, Type, PropertyMetadata, ValidateValueCallback)

Belirtilen özellik türü, sahip türü, özellik meta verileri ve doğrulama geri çağırması ile salt okunur bağımlılık özelliğini kaydeder.

public:
 static System::Windows::DependencyPropertyKey ^ RegisterReadOnly(System::String ^ name, Type ^ propertyType, Type ^ ownerType, System::Windows::PropertyMetadata ^ typeMetadata, System::Windows::ValidateValueCallback ^ validateValueCallback);
public static System.Windows.DependencyPropertyKey RegisterReadOnly (string name, Type propertyType, Type ownerType, System.Windows.PropertyMetadata typeMetadata, System.Windows.ValidateValueCallback validateValueCallback);
static member RegisterReadOnly : string * Type * Type * System.Windows.PropertyMetadata * System.Windows.ValidateValueCallback -> System.Windows.DependencyPropertyKey
Public Shared Function RegisterReadOnly (name As String, propertyType As Type, ownerType As Type, typeMetadata As PropertyMetadata, validateValueCallback As ValidateValueCallback) As DependencyPropertyKey

Parametreler

name
String

Kaydedilecek bağımlılık özelliğinin adı.

propertyType
Type

Özelliğin türü.

ownerType
Type

Bağımlılık özelliğini kaydeden sahip türü.

typeMetadata
PropertyMetadata

Bağımlılık özelliği için özellik meta verileri.

validateValueCallback
ValidateValueCallback

Tipik tür doğrulamasının ötesinde bağımlılık özelliği değerinin herhangi bir özel doğrulamasını gerçekleştirmesi gereken, kullanıcı tarafından oluşturulan bir geri çağırma başvurusu.

Döndürülenler

DependencyPropertyKey

Sınıfınızdaki statik bir salt okunur alanın değerini ayarlamak için kullanılması gereken ve daha sonra bağımlılık özelliğine başvurmak için kullanılacak bağımlılık özellik anahtarı.

Açıklamalar

Bu yöntem türünü DependencyPropertyKeydöndürürken RegisterAttached , türünü DependencyPropertydöndürür. Genellikle, salt okunur özellikleri temsil eden anahtarlar genel yapılmaz, çünkü anahtarlar çağrılarak SetValue(DependencyPropertyKey, Object)bağımlılık özelliği değerini ayarlamak için kullanılabilir. Sınıf tasarımınız gereksinimlerinizi etkiler, ancak bunların erişimini ve görünürlüğünü kodunuzun DependencyPropertyKey yalnızca bu bağımlılık özelliğini sınıf veya uygulama mantığının bir parçası olarak ayarlamak için gerekli olan bölümleriyle sınırlamanız önerilir. Ayrıca, değerini sınıfınızda bir alan olarak kullanıma sunarak salt okunur bağımlılık özelliği için bağımlılık public static readonly özelliği tanımlayıcısını DependencyPropertyKey.DependencyProperty kullanıma sunmanız önerilir.

Salt okunur bağımlılık özellikleri oldukça tipik bir senaryodur. Salt okunur bağımlılık özelliğinin değerini, bağımlılık özelliğini bir stildeki bağımlılık özelliğine dayandırma Trigger gibi bir bağımlılık özelliği alan diğer özellik sistemi işlemleri için temel olarak kullanabilirsiniz.

Bağımlılık özelliği kaydı hakkında daha fazla bilgi için bkz DependencyProperty. .

Salt okunur bağımlılık özelliğinde doğrulama daha az önemli olabilir. Anahtar için belirttiğiniz abonelik dışı erişim düzeyi, rastgele geçersiz giriş olasılığını azaltır.

Şunlara uygulanır