|
|
Questions and answers for Concepts Attached Property .
|
4. Concepts Attached Property
|
| 4.1 What is
Attached Properties and how to register it?
|
| 4.2 How can I
set an attached property in code?
|
4.1 What is Attached Properties and how to register it?
|
|
An "attached" property is a concept defined by Extensible Application Markup
Language (XAML). It is intended to be used as a type of global property that
can be set on any object. In Windows Presentation Foundation (WPF), attached
properties are typically defined as specialized forms of dependency properties
that do not have the conventional "wrapper" property.
This example shows how to 'register' an attached property and provide public
accessors so that you can use the property in both Extensible Application
Markup Language (XAML) and code. Attached properties are a syntax concept
defined by Extensible Application Markup Language (XAML). Most of the attached
properties for WPF types are also implemented as dependency properties. You can
use dependency properties on any 'DependencyObject' types.
|
[C#]
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);
}
|
4.2 How can I set an attached property in code?
|
|
The following example shows how you can set an attached property in code. In
this example, 'myCheckBox' is an instance of the CheckBox class.
|
[C#]
DockPanel myDockPanel = new DockPanel();
CheckBox myCheckBox = new CheckBox();
myCheckBox.Content = "Hello";
myDockPanel.Children.Add(myCheckBox);
DockPanel.SetDock(myCheckBox, Dock.Top);
|
|