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


Практическое руководство. Регистрация вложенного свойства зависимостей

Обновлен: Ноябрь 2007

В этом примере демонстрируется регистрация вложенного свойства зависимостей и предоставление общих методов доступа для использования свойства в Язык XAML (Extensible Application Markup Language) и в коде. Вложенные свойства зависимостей являются понятиями синтаксиса, определенными в Язык XAML (Extensible Application Markup Language). Большинство вложенных свойств для типов WPF также реализовано как свойства зависимостей. Свойства зависимостей можно использовать для любых типов DependencyObject.

Пример

В следующем примере показано, как зарегистрировать вложенное свойство в качестве свойства зависимости с помощью метода RegisterAttached. Класс поставщика имеет возможность предоставления метаданных по умолчанию для свойства, применяемого в случаях, когда свойство используется в другом классе, а этот класс не переопределяет метаданные. В этом примере значение по умолчанию свойства IsBubbleSource равно false.

Класс поставщика для вложенного свойства зависимостей (даже если он не зарегистрирован как свойство зависимостей) должен предоставлять статические методы доступа получения и установки, следующие правилам именования Set[AttachedPropertyName] и Get[AttachedPropertyName]. Эти методы доступа требуются для того, чтобы действующее средство чтения XAML распознало свойство как атрибут в XAML и определило соответствующие типы.

public static readonly DependencyProperty IsBubbleSourceProperty = DependencyProperty.RegisterAttached(
  "IsBubbleSource",
  typeof(Boolean),
  typeof(AquariumObject),
  new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.AffectsRender)
);
public static void SetIsBubbleSource(UIElement element, Boolean value)
{
  element.SetValue(IsBubbleSourceProperty, value);
}
public static Boolean GetIsBubbleSource(UIElement element)
{
  return (Boolean)element.GetValue(IsBubbleSourceProperty);
}

См. также

Основные понятия

Общие сведения о свойствах зависимости

Пользовательские свойства зависимостей

Ссылки

DependencyProperty

Другие ресурсы

Разделы пошагового руководства по свойствам

Примеры использования свойств