Nyelv

DependencyProperty.RegisterReadOnly Metódus

Definíció

A függőségi tulajdonságot írásvédett függőségi tulajdonságként regisztrálja.

Túlterhelések

Name Description
RegisterReadOnly(String, Type, Type, PropertyMetadata)

Regisztrál egy írásvédett függőségi tulajdonságot a megadott tulajdonságtípussal, tulajdonostípussal és tulajdonság metaadataival.

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

Regisztrál egy írásvédett függőségi tulajdonságot a megadott tulajdonságtípussal, tulajdonostípussal, tulajdonság metaadataival és érvényesítési visszahívásával.

RegisterReadOnly(String, Type, Type, PropertyMetadata)

Regisztrál egy írásvédett függőségi tulajdonságot a megadott tulajdonságtípussal, tulajdonostípussal és tulajdonság metaadataival.

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

Paraméterek

name
String

A regisztrálandó függőségi tulajdonság neve.

propertyType
Type

A tulajdonság típusa.

ownerType
Type

A függőségi tulajdonságot regisztráló tulajdonostípus.

typeMetadata
PropertyMetadata

A függőségi tulajdonság tulajdonság metaadatai.

Válaszok

Egy függőségi tulajdonságkulcs, amelyet az osztályban egy statikus írásvédett mező értékének beállításához kell használni, amely ezután a függőségi tulajdonságra hivatkozik.

Példák

Az alábbi példa egy AquariumSize függőségi tulajdonságot csak olvashatóként regisztrál. A példa belső kulcsként definiált AquariumSizeKey (így a szerelvény más osztályai felülbírálhatják a metaadatokat), és a kulcs alapján elérhetővé teszi a függőségi tulajdonság azonosítóját.AquariumSizeProperty Emellett létrehozunk AquariumSizeegy burkolót is, amelyhez csak egy beolvasási kiegészítő tartozik.

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

Megjegyzések

Ez a metódus a típust DependencyPropertyKeyadja vissza, míg RegisterAttached a típust DependencyProperty. Az írásvédett tulajdonságokat képviselő kulcsok általában nem nyilvánosak, mert a kulcsok a függőségi tulajdonság értékének hívásával SetValue(DependencyPropertyKey, Object)állíthatók be. Az osztályterv hatással lesz a követelményekre, de általában ajánlott a DependencyPropertyKey kódhoz való hozzáférést és láthatóságot csak a kód azon részeire korlátozni, amelyek szükségesek ahhoz, hogy a függőségi tulajdonságot osztály- vagy alkalmazáslogika részeként állítsa be. Azt is javasoljuk, hogy tegye közzé az írásvédett függőség tulajdonság függőségi tulajdonságának DependencyPropertyKey.DependencyProperty azonosítóját úgy, hogy az osztályban mezőként public static readonly adja meg az értéket.

A csak olvasható függőségi tulajdonságok meglehetősen tipikus forgatókönyvek mind a meglévő API-ban, mind a testreszabási forgatókönyvekben, mivel más WPF funkciók függőségi tulajdonságot igényelhetnek akkor is, ha ezt a tulajdonságot nem a hívók állítják be. Egy írásvédett függőségi tulajdonság értékét használhatja a függőségi tulajdonságot használó egyéb tulajdonságrendszer-műveletek alapjául, például a függőségi tulajdonság stílusban való alapozásához Trigger .

A függőségi tulajdonság regisztrációval kapcsolatos további információkért lásd: DependencyProperty.

A következőre érvényes:

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

Regisztrál egy írásvédett függőségi tulajdonságot a megadott tulajdonságtípussal, tulajdonostípussal, tulajdonság metaadataival és érvényesítési visszahívásával.

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

Paraméterek

name
String

A regisztrálandó függőségi tulajdonság neve.

propertyType
Type

A tulajdonság típusa.

ownerType
Type

A függőségi tulajdonságot regisztráló tulajdonostípus.

typeMetadata
PropertyMetadata

A függőségi tulajdonság tulajdonság metaadatai.

validateValueCallback
ValidateValueCallback

Egy felhasználó által létrehozott visszahívásra mutató hivatkozás, amely a függőségi tulajdonság értékének egyéni érvényesítését hajtja végre a tipikus típusérvényesítésen túl.

Válaszok

Egy függőségi tulajdonságkulcs, amelyet az osztályban egy statikus írásvédett mező értékének beállításához kell használni, amely később a függőségi tulajdonságra hivatkozik.

Megjegyzések

Ez a metódus a típust DependencyPropertyKeyadja vissza, míg RegisterAttached a típust DependencyProperty. Az írásvédett tulajdonságokat képviselő kulcsok általában nem nyilvánosak, mert a kulcsok a függőségi tulajdonság értékének hívásával SetValue(DependencyPropertyKey, Object)állíthatók be. Az osztályterv hatással lesz a követelményekre, de általában ajánlott a DependencyPropertyKey kódhoz való hozzáférést és láthatóságot csak a kód azon részeire korlátozni, amelyek szükségesek ahhoz, hogy a függőségi tulajdonságot osztály- vagy alkalmazáslogika részeként állítsa be. Azt is javasoljuk, hogy tegye közzé az írásvédett függőség tulajdonság függőségi tulajdonságának DependencyPropertyKey.DependencyProperty azonosítóját úgy, hogy az osztályban mezőként public static readonly adja meg az értéket.

Az írásvédett függőségi tulajdonságok meglehetősen tipikus forgatókönyvek. Egy írásvédett függőségi tulajdonság értékét használhatja a függőségi tulajdonságot használó egyéb tulajdonságrendszer-műveletek alapjául, például a függőségi tulajdonság stílusban való alapozásához Trigger .

A függőségi tulajdonság regisztrációval kapcsolatos további információkért lásd: DependencyProperty.

Előfordulhat, hogy egy írásvédett függőségi tulajdonság érvényesítése kevésbé fontos. A kulcshoz megadott nem nyilvános hozzáférési szint csökkenti az tetszőlegesen érvénytelen bemenetek valószínűségét.

A következőre érvényes: