DependencyObject.SetValue Метод
Определение
Задает локальное значение свойства зависимостей.Sets the local value of a dependency property.
Перегрузки
SetValue(DependencyProperty, Object) |
Задает локальное значение свойства зависимостей, указанного идентификатором этого свойства.Sets the local value of a dependency property, specified by its dependency property identifier. |
SetValue(DependencyPropertyKey, Object) |
Задает локальное значение свойства зависимости только для чтения, определяемое идентификатором DependencyPropertyKey свойства зависимостей.Sets the local value of a read-only dependency property, specified by the DependencyPropertyKey identifier of the dependency property. |
SetValue(DependencyProperty, Object)
Задает локальное значение свойства зависимостей, указанного идентификатором этого свойства.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)
Параметры
Идентификатор задаваемого свойства зависимостей.The identifier of the dependency property to set.
- value
- Object
Новое локальное значение.The new local value.
Исключения
Предпринята попытка изменить доступное только для чтения свойство зависимостей или свойство запечатанного объекта DependencyObject.Attempted to modify a read-only dependency property, or a property on a sealed DependencyObject.
value
не является правильным типом, зарегистрированным для свойства dp
.value
was not the correct type as registered for the dp
property.
Комментарии
Если предоставленный тип не соответствует типу, объявленному для свойства зависимостей, как оно было первоначально зарегистрировано, создается исключение.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. value
Параметр должен всегда указываться в качестве соответствующего типа.The value
parameter should always be provided as the appropriate type.
На условия исключения могут влиять ValidateValueCallback функции обратного вызова, которые существуют в идентификаторе свойства зависимостей устанавливаемого свойства зависимостей.The exception conditions are potentially influenced by the ValidateValueCallback callback that exists on the dependency property identifier of the dependency property being set. В противном случае предоставленное значение может привести к сбою общих условий проверки типа (например, передача строки, если собственный тип — Double).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)
Задает локальное значение свойства зависимости только для чтения, определяемое идентификатором DependencyPropertyKey свойства зависимостей.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)
Параметры
Идентификатор DependencyPropertyKey задаваемого свойства.The DependencyPropertyKey identifier of the property to set.
- value
- Object
Новое локальное значение.The new local value.
Примеры
В следующем примере определяется свойство зависимостей, доступное только для чтения, а также объект public static readonly
DependencyProperty , предоставляющий необходимые сведения о доступности для потребителей свойств, а также метод доступа get для 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
Комментарии
Эта сигнатура обычно используется при задании значений для свойств зависимостей, доступных только для чтения и определяемых пользовательскими классами.This signature is generally used when you set values for read-only dependency properties that are defined by your custom classes. Как правило, SetValue вызывается только из типа, который зарегистрировал это свойство зависимостей, которое реализует внутреннюю логику, которая предоставляет определенное значение для свойства зависимостей.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. Дополнительные сведения см. в разделе Свойства зависимостей "только для чтения".For more information, see Read-Only Dependency Properties.
Если предоставленный тип не соответствует типу, объявленному для свойства зависимостей, как оно было первоначально зарегистрировано, создается исключение.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. value
Параметр должен всегда указываться в качестве соответствующего типа.The value
parameter should always be provided as the appropriate type. На условия исключения могут влиять ValidateValueCallback функции обратного вызова, которые существуют в идентификаторе свойства зависимостей устанавливаемого свойства зависимостей.The exception conditions are potentially influenced by the ValidateValueCallback callback that exists on the dependency property identifier of the dependency property being set.