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


PropertyMetadata Конструкторы

Определение

Перегрузки

PropertyMetadata(Object)

Инициализирует новый экземпляр класса PropertyMetadata , используя значение свойства по умолчанию.

PropertyMetadata(Object, PropertyChangedCallback)

Инициализирует новый экземпляр класса PropertyMetadata , используя значение свойства по умолчанию и ссылку обратного вызова.

PropertyMetadata(Object)

Инициализирует новый экземпляр класса PropertyMetadata , используя значение свойства по умолчанию.

public:
 PropertyMetadata(Platform::Object ^ defaultValue);
 PropertyMetadata(IInspectable const& defaultValue);
public PropertyMetadata(object defaultValue);
function PropertyMetadata(defaultValue)
Public Sub New (defaultValue As Object)

Параметры

defaultValue
Object

Platform::Object

IInspectable

Значение по умолчанию для свойства, к которому применяется свойство PropertyMetadata .

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

PropertyMetadata(Object, PropertyChangedCallback)

Инициализирует новый экземпляр класса PropertyMetadata , используя значение свойства по умолчанию и ссылку обратного вызова.

public:
 PropertyMetadata(Platform::Object ^ defaultValue, PropertyChangedCallback ^ propertyChangedCallback);
 PropertyMetadata(IInspectable const& defaultValue, PropertyChangedCallback const& propertyChangedCallback);
public PropertyMetadata(object defaultValue, PropertyChangedCallback propertyChangedCallback);
function PropertyMetadata(defaultValue, propertyChangedCallback)
Public Sub New (defaultValue As Object, propertyChangedCallback As PropertyChangedCallback)

Параметры

defaultValue
Object

Platform::Object

IInspectable

Значение по умолчанию для свойства, к которому применяется свойство PropertyMetadata .

propertyChangedCallback
PropertyChangedCallback

Ссылка на обратный вызов для вызова поведения изменения свойства.

Примеры

В этом примере показано использование этого конструктора. OnLabelChanged ссылается на реализацию делегата для PropertyChangedCallback (не отображается). Дополнительные сведения о коде, который помещает этот пример в контекст, см. в разделе Пользовательские свойства зависимостей.

public static readonly DependencyProperty LabelProperty = DependencyProperty.Register(
  "Label",
  typeof(String),
  typeof(ImageWithLabelControl),
  new PropertyMetadata(null,new PropertyChangedCallback(OnLabelChanged))
);
Public Shared ReadOnly LabelProperty As DependencyProperty = _
    DependencyProperty.Register("Label", _
      GetType(String), GetType(ImageWithLabelControl), _
      New PropertyMetadata(Nothing, new PropertyChangedCallback(AddressOf OnLabelChanged)))
DependencyProperty^ ImageWithLabelControl::_LabelProperty = 
    DependencyProperty::Register("Label", 
    Platform::String::typeid,
    ImageWithLabelControl::typeid, 
    ref new PropertyMetadata(nullptr,
      ref new PropertyChangedCallback(&ImageWithLabelControl::OnLabelChanged))
    );

Комментарии

Если вы хотите установить экземпляр PropertyMetadata с измененным методом обратного вызова, но не значением по умолчанию, передайте значение null для defaultValue.

Если вы передаете значение defaultValue, убедитесь, что тип этого значения является допустимым для типа propertyType из определения свойства зависимостей с помощью вызова Register . Если вы создали несоответствие типов между параметром регистрации и метаданными, проблема проявляется только косвенно. При попытке создать экземпляр типа со значением этого свойства зависимостей вы получите ошибки среды выполнения. Вы не получите никаких предупреждений или ошибок во время разработки или компиляции.

См. также раздел

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