Возможность просмотра означает, что дизайнер, такой как WPF-дизайнер Visual Studio с именем Cider, отображает свойство в конструкторе. Поскольку присоединенные свойства не являются фактическим свойством типа и могут применяться практически к типу, дизайнеру сложно узнать, когда показывать или не показывать свойство. Эти атрибуты позволяют разработчику сообщить разработчику, что определенное присоединенное свойство должно отображаться в конструкторе. Другими словами: просматривается. Этот определенный атрибут позволяет разработчику знать, что это присоединенное свойство должно быть доступно для просмотра для типов, к которым применен указанный атрибут.
Прикрепленное имущество:
public class WhenAttributePresentTestControl : Grid
{
public static readonly DependencyProperty ShowWhenCustomAttributePresentProperty = DependencyProperty.RegisterAttached(
"ShowWhenCustomAttributePresent",
typeof(int),
typeof(WhenAttributePresentTestControl));
public static void SetShowWhenCustomAttributePresent(UIElement element, int value)
{
element.SetValue(ShowWhenCustomAttributePresentProperty, value);
}
[AttachedPropertyBrowsableWhenAttributePresentAttribute(typeof(MyCustomAttribute))]
public static int GetShowWhenCustomAttributePresent(UIElement element)
{
return (int)element.GetValue(ShowWhenCustomAttributePresentProperty);
}
}
Пример использования:
[MyCustomAttribute]
public class CustomLabel : Label
{
}
public class CustomLabelNoCustomAttribute : Label
{
}
Дизайнер отобразит вложенное свойство ShowWhenCustomAttributePresent в редакторе свойств для CustomLabel, но не для CustomLabelNoCustomAttribute.
Источник: http://blogs.msdn.com/jnak/archive/2008/01/17/showing-attached-properties-in-the-cider-wpf-designer.aspx
Фактическое использование:
Я не могу найти никакого использования этого атрибута в .Net Framework с Reflector.
Забавное примечание: Очевидно, это также самое длинное имя типа .Net 3.0 framework