Практическое руководство. Регистрация вложенного свойства зависимостей
Обновлен: Ноябрь 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);
}
См. также
Основные понятия
Общие сведения о свойствах зависимости
Пользовательские свойства зависимостей