DependencyObject.SetValue Metoda

Definicja

Ustawia wartość lokalną właściwości zależności.Sets the local value of a dependency property.

Przeciążenia

SetValue(DependencyProperty, Object)

Ustawia wartość lokalną właściwości zależności, określoną za pomocą identyfikatora właściwości zależności.Sets the local value of a dependency property, specified by its dependency property identifier.

SetValue(DependencyPropertyKey, Object)

Ustawia wartość lokalną właściwości zależności tylko do odczytu, określoną przez DependencyPropertyKey identyfikator właściwości zależności.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

SetValue(DependencyProperty, Object)

Ustawia wartość lokalną właściwości zależności, określoną za pomocą identyfikatora właściwości zależności.Sets the local value of a dependency property, specified by its dependency property identifier.

public:
 void SetValue(System::Windows::DependencyProperty ^ dp, System::Object ^ value);
public void SetValue (System.Windows.DependencyProperty dp, object value);
member this.SetValue : System.Windows.DependencyProperty * obj -> unit
Public Sub SetValue (dp As DependencyProperty, value As Object)

Parametry

dp
DependencyProperty

Identyfikator właściwości zależności do ustawienia.The identifier of the dependency property to set.

value
Object

Nowa wartość lokalna.The new local value.

Wyjątki

Podjęto próbę zmodyfikowania właściwości zależności tylko do odczytu lub właściwości zapieczętowanej DependencyObject.Attempted to modify a read-only dependency property, or a property on a sealed DependencyObject.

value nie był prawidłowym typem zarejestrowanym dla właściwości dp.value was not the correct type as registered for the dp property.

Uwagi

Jeśli dostarczony typ nie jest zgodny z typem zadeklarowanym dla właściwości zależności, która została pierwotnie zarejestrowana, zgłaszany jest wyjątek.If the provided type does not match the type that is declared for the dependency property as it was originally registered, an exception is thrown. Parametr value powinien zawsze być określony jako odpowiedni typ.The value parameter should always be provided as the appropriate type.

Warunki wyjątku mogą mieć wpływ na wywołanie zwrotne ValidateValueCallback, które istnieje w identyfikator właściwości zależności ustawionej właściwości zależności.The exception conditions are potentially influenced by the ValidateValueCallback callback that exists on the dependency property identifier of the dependency property being set. W przeciwnym razie podana wartość może kończyć się niepowodzeniem ogólnymi warunkami sprawdzania typu (na przykład przekazywaniem ciągu, gdy typ natywny jest podwójny).Otherwise, the value provided might be failing general type-checking conditions (for example, passing a string when the native type is Double).

SetValue(DependencyPropertyKey, Object)

Ustawia wartość lokalną właściwości zależności tylko do odczytu, określoną przez DependencyPropertyKey identyfikator właściwości zależności.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property.

public:
 void SetValue(System::Windows::DependencyPropertyKey ^ key, System::Object ^ value);
public void SetValue (System.Windows.DependencyPropertyKey key, object value);
member this.SetValue : System.Windows.DependencyPropertyKey * obj -> unit
Public Sub SetValue (key As DependencyPropertyKey, value As Object)

Parametry

key
DependencyPropertyKey

DependencyPropertyKey identyfikator właściwości do ustawienia.The DependencyPropertyKey identifier of the property to set.

value
Object

Nowa wartość lokalna.The new local value.

Przykłady

W poniższym przykładzie zdefiniowano właściwość zależności tylko do odczytu wraz z public static readonly DependencyProperty, która zapewnia niezbędny dostęp tylko do odczytu do odbiorców właściwości i metodę dostępu get dla otoki CLRCLR.The following example defines a read-only dependency property, along with a public static readonly DependencyProperty that provides necessary read-only exposure to property consumers, and the get accessor for the CLRCLR wrapper.

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

Uwagi

Ten podpis jest zazwyczaj używany podczas ustawiania wartości dla właściwości zależności tylko do odczytu, które są zdefiniowane przez klasy niestandardowe.This signature is generally used when you set values for read-only dependency properties that are defined by your custom classes. Ogólnie rzecz biorąc, SetValue jest wywoływana tylko z typu, który zarejestrował tę właściwość zależności, która implementuje wewnętrzną logikę, która dostarcza określoną wartość właściwości zależności.Generally, SetValue is called only from the type that registered that dependency property, which implements the internal logic that provides the determined value for the dependency property. Aby uzyskać więcej informacji, zobacz właściwości zależności tylko do odczytu.For more information, see Read-Only Dependency Properties.

Jeśli dostarczony typ nie jest zgodny z typem zadeklarowanym dla właściwości zależności, która została pierwotnie zarejestrowana, zgłaszany jest wyjątek.If the provided type does not match the type that is declared for the dependency property as it was originally registered, an exception is thrown. Parametr value powinien zawsze być określony jako odpowiedni typ.The value parameter should always be provided as the appropriate type. Warunki wyjątku mogą mieć wpływ na wywołanie zwrotne ValidateValueCallback, które istnieje w identyfikator właściwości zależności ustawionej właściwości zależności.The exception conditions are potentially influenced by the ValidateValueCallback callback that exists on the dependency property identifier of the dependency property being set.

Dotyczy