This article was translated by machine. To view in the article in English, select the English check box. You can also display the English text in a popup window by moving the mouse pointer over the text.
الترجمة
الأصلي
This documentation is archived and is not being maintained.

DependencyPropertyKey.OverrideMetadata أسلوب

Visual Studio 2010

بيانات تعريف يتجاوز للقراءة فقط خاصية تبعية يتم تمثيلها بواسطة معرّف الخاصية التبعية هذا.

مساحة الاسم:  System.Windows
التجميع:  WindowsBase (في WindowsBase.dll)

public void OverrideMetadata(
	Type forType,
	PropertyMetadata typeMetadata
)

المعلمات

forType
النوع: System.Type
The نوع تشغيل which this تبعية خاصية موجود و بيانات التعريف should be overridden.
typeMetadata
النوع: System.Windows.PropertyMetadata
بيانات التعريف supplied for this نوع.

استثناء:شرط
InvalidOperationException

Attempted بيانات التعريف يمنع تشغيل a read-write تبعية خاصية (cannot be done using this توقيع).

ArgumentException

بيانات التعريف was already established for the خاصية كـ it موجود تشغيل the provided نوع.

Overriding بيانات التعريف تشغيل a read-فقط تبعية خاصية هو done for similar reasons كـ overriding بيانات التعريف تشغيل a read-write تبعية خاصية, و هو restricted إلى الوصول at the المفتاح المستوى because السلوكيات specified في the بيانات التعريف can تغيير the التعيين السلوكيات (the القيمة افتراضية, for مثيل).

كما أن خصائص التبعيه القراءة والكتابة، تجاوز بيانات التعريف تشغيل خاصية تبعية للقراءة فقط يجب فقط القيام قبل إلى تلك الخاصية التي يتم وضعها قيد استخدم من قبل النظام خاصية (ذلك مساوياً إلى الوقت الذي يتم إنشاء مثيل مثيلات معينة من الكائنات التي تسجل الخاصية). المكالمات إلى OverrideMetadataيجب إنجاز داخل المنشئات ثابتة من النوع الذي يقدم نفسه forTypeمعلمة لهذا الأسلوب، أو تهيئة يعادل ذلك فئة.

تعيد هذه الطريقة بشكل فعال إلى OverrideMetadataالأسلوب، pكـsing DependencyPropertyKeyمثيل كـ معلمة المفتاح.

يلي مثال يتجاوز بيانات التعريف لخاصية القراءة فقط تبعية يرث فئة. في هذه الحالة، كان هدف السيناريو إلى إضافة رد اتصال القيمة "coerce" الذي لم لبيانات التعريف للخاصية الأساسية. يمكن أيضا يمنع بيانات التعريف لأي من الأسباب الأخرى بيانات التعريف هذه ميمنع هو عادة مناسب (تغيير قيمة افتراضية، قم بإضافة FrameworkPropertyMetadataOptionsقيم، الخ)


static Fishbowl() {
  Aquarium.AquariumSizeKey.OverrideMetadata(
    typeof(Aquarium),
    new PropertyMetadata(
      double.NaN,
      null,
      new CoerceValueCallback(CoerceFishbowlAquariumSize)
    )
  );
}

static object CoerceFishbowlAquariumSize(DependencyObject d,Object baseValue)
{
    //Aquarium is 2D, a Fishbowl is a round Aquarium, so the Size we return is the ellipse of that height/width rather than the rectangle
    Fishbowl fb = (Fishbowl)d;
    //other constraints assure that H,W are positive
    return Convert.ToInt32(Math.PI * (fb.Width / 2) * (fb.Height / 2));
}


نظام التشغيل Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008, نظام التشغيل Windows Server 2003

لا يدعم .NET Framework و .NET Compact Framework كافة الإصدارات الخاصة بكل نظام أساسي. للحصول على قائمة بالإصدارات المدعمة، راجع متطلبات النظام إطار عمل .NET.

.NET Framework

مدعوم في: 4, 3.5, 3.0

NET Framework. Client Profile

مدعوم في: 4
إظهار: