Поделиться через


DependencyObject.SetValue Метод

Определение

Задает локальное значение свойства зависимостей.

Перегрузки

SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей, указанное его идентификатором свойства зависимостей.

SetValue(DependencyPropertyKey, Object)

Задает локальное значение свойства зависимостей только для чтения, указанное идентификатором DependencyPropertyKey свойства зависимостей.

SetValue(DependencyProperty, Object)

Задает локальное значение свойства зависимостей, указанное его идентификатором свойства зависимостей.

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)

Параметры

dp
DependencyProperty

Идентификатор заданного свойства зависимостей.

value
Object

Новое локальное значение.

Исключения

Попытка изменить свойство зависимости только для чтения или свойство в запечатанных DependencyObject.

value не был правильным типом, зарегистрированным для свойства dp.

Комментарии

Если указанный тип не соответствует типу, объявленному для свойства зависимостей по мере его первоначальной регистрации, создается исключение. Параметр value всегда должен быть указан в качестве соответствующего типа.

Условия исключения потенциально влияют на обратный вызов ValidateValueCallback, который существует в идентификаторе свойства зависимости заданного свойства. В противном случае указанное значение может привести к сбою общих условий проверки типов (например, передача строки, если собственный тип имеет значение Double).

Применяется к

SetValue(DependencyPropertyKey, Object)

Задает локальное значение свойства зависимостей только для чтения, указанное идентификатором DependencyPropertyKey свойства зависимостей.

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)

Параметры

key
DependencyPropertyKey

Идентификатор DependencyPropertyKey заданного свойства.

value
Object

Новое локальное значение.

Примеры

В следующем примере определяется свойство зависимости только для чтения, а также public static readonlyDependencyProperty, обеспечивающий необходимую возможность доступа только для чтения для потребителей свойств, а также метод доступа для оболочки CLR.

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

Комментарии

Эта подпись обычно используется при установке значений для свойств зависимостей только для чтения, определенных пользовательскими классами. Как правило, SetValue вызывается только из типа, зарегистрированного этого свойства зависимостей, который реализует внутреннюю логику, которая предоставляет определенное значение для свойства зависимостей. Дополнительные сведения см. в разделе Read-Only Свойства зависимостей.

Если указанный тип не соответствует типу, объявленному для свойства зависимостей по мере его первоначальной регистрации, создается исключение. Параметр value всегда должен быть указан в качестве соответствующего типа. Условия исключения потенциально влияют на обратный вызов ValidateValueCallback, который существует в идентификаторе свойства зависимости заданного свойства.

Применяется к