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

Name Description
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 bir 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

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

Ö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 ortak 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 herhangi birinin DependencyPropertyKey erişimini ve görünürlüğünü 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 kod 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 DependencyPropertyKey.DependencyProperty özelliği tanımlayıcısını public static readonly 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, bu özelliğin arayanlar tarafından ayarlanması amaçlanmamış olsa bile bağımlılık özelliği gerektirebilir. Salt okunur bağımlılık özelliğinin değerini, bir bağımlılık özelliğini stildeki bağımlılık özelliğine dayandırma Trigger gibi bir bağımlılık özelliğini 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 bir 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

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

Döndürülenler

Sınıfınızdaki statik 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 ortak 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 herhangi birinin DependencyPropertyKey erişimini ve görünürlüğünü 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 kod 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 DependencyPropertyKey.DependencyProperty özelliği tanımlayıcısını public static readonly 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, bir bağımlılık özelliğini stildeki bağımlılık özelliğine dayandırma Trigger gibi bir bağımlılık özelliğini 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