Aracılığıyla paylaş


DependencyObject.SetValue Yöntem

Tanım

Bağımlılık özelliğinin yerel değerini ayarlar.

Aşırı Yüklemeler

SetValue(DependencyProperty, Object)

Bağımlılık özelliği tanımlayıcısı tarafından belirtilen bir bağımlılık özelliğinin yerel değerini ayarlar.

SetValue(DependencyPropertyKey, Object)

Bağımlılık özelliğinin DependencyPropertyKey tanımlayıcısı tarafından belirtilen salt okunur bağımlılık özelliğinin yerel değerini ayarlar.

SetValue(DependencyProperty, Object)

Bağımlılık özelliği tanımlayıcısı tarafından belirtilen bir bağımlılık özelliğinin yerel değerini ayarlar.

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)

Parametreler

dp
DependencyProperty

Ayarlanacağı bağımlılık özelliğinin tanımlayıcısı.

value
Object

Yeni yerel değer.

Özel durumlar

Salt okunur bağımlılık özelliğini veya korumalı bir DependencyObjectüzerindeki bir özelliği değiştirmeye çalışıldı.

value, dp özelliği için kayıtlı olan doğru tür değildi.

Açıklamalar

Sağlanan tür, başlangıçta kaydedildiği gibi bağımlılık özelliği için bildirilen türle eşleşmiyorsa, bir özel durum oluşturulur. value parametresi her zaman uygun tür olarak sağlanmalıdır.

Özel durum koşulları, ayarlanan bağımlılık özelliğinin bağımlılık özelliği tanımlayıcısı üzerinde bulunan ValidateValueCallback geri çağırmadan etkilenmiş olabilir. Aksi takdirde, sağlanan değer genel tür denetimi koşullarında başarısız oluyor olabilir (örneğin, yerel tür Double olduğunda bir dize geçirme).

Şunlara uygulanır

SetValue(DependencyPropertyKey, Object)

Bağımlılık özelliğinin DependencyPropertyKey tanımlayıcısı tarafından belirtilen salt okunur bağımlılık özelliğinin yerel değerini ayarlar.

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)

Parametreler

key
DependencyPropertyKey

Ayarlanacağı özelliğin DependencyPropertyKey tanımlayıcısı.

value
Object

Yeni yerel değer.

Örnekler

Aşağıdaki örnek, özellik tüketicilerine gerekli salt okunur pozlamayı sağlayan bir public static readonlyDependencyProperty ve CLR sarmalayıcısı için get erişimcisinin yanı sıra salt okunur bağımlılık özelliğini tanımlar.

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

Açıklamalar

Bu imza genellikle özel sınıflarınız tarafından tanımlanan salt okunur bağımlılık özellikleri için değerler ayarladığınızda kullanılır. Genel olarak, SetValue yalnızca bağımlılık özelliği için belirlenen değeri sağlayan iç mantığı uygulayan bu bağımlılık özelliğini kaydeden türden çağrılır. Daha fazla bilgi için bkz. Read-Only Bağımlılık Özellikleri.

Sağlanan tür, başlangıçta kaydedildiği gibi bağımlılık özelliği için bildirilen türle eşleşmiyorsa, bir özel durum oluşturulur. value parametresi her zaman uygun tür olarak sağlanmalıdır. Özel durum koşulları, ayarlanan bağımlılık özelliğinin bağımlılık özelliği tanımlayıcısı üzerinde bulunan ValidateValueCallback geri çağırmadan etkilenmiş olabilir.

Şunlara uygulanır