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)
Параметры
Идентификатор задаваемого свойства зависимостей.
- 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)
Параметры
Идентификатор DependencyPropertyKey задаваемого свойства.
- value
- Object
Новое локальное значение.
Примеры
В следующем примере определяется свойство зависимостей только для чтения, а также public static readonly
DependencyProperty свойство, которое обеспечивает необходимую возможность доступа только для чтения для потребителей свойств и метод доступа для оболочки 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 вызывается только из типа, который зарегистрировал это свойство зависимостей, который реализует внутреннюю логику, которая предоставляет определенное значение для свойства зависимостей. Дополнительные сведения см. в разделе Свойства зависимостей "только для чтения".
Если указанный тип не соответствует типу, объявленному для свойства зависимостей по мере его первоначальной регистрации, создается исключение. Параметр value
всегда должен быть указан в качестве соответствующего типа. Условия исключения потенциально зависят от обратного ValidateValueCallback вызова, существующего на идентификаторе свойства зависимости заданного свойства зависимостей.