Browse Source

Added docs for DirectProperty.AddOwner.

pull/504/head
Steven Kirk 10 years ago
parent
commit
43be59a7f9
  1. 23
      docs/spec/defining-properties.md

23
docs/spec/defining-properties.md

@ -41,7 +41,7 @@ the parent control.
on which the property is being set and the value and returns the coerced value
or throws an exception for an invalid value.
## Using a StyledProperty from Another Class
## Using a StyledProperty on Another Class
Sometimes the property you want to add to your control already exists on another
control, `Background` being a good example. To register a property defined on
@ -158,6 +158,27 @@ They don't support the following:
- Overriding default values.
- Inherited values
## Using a DirectProperty on Another Class
In the same way that you can call `AddOwner` on a styled property, you can also
add an owner to a direct property. Because direct properties reference fields
on the control, you must also add a field for the property:
```c#
public static readonly DirectProperty<MyControl, IEnumerable> ItemsProperty =
ItemsControl.ItemsProperty.AddOwner<MyControl>(
o => o.Items,
(o, v) => o.Items = v);
private IEnumerable _items = new PerspexList<object>();
public IEnumerable Items
{
get { return _items; }
set { SetAndRaise(ItemsProperty, ref _items, value); }
}
```
## When to use a Direct vs a Styled Property
Direct properties have advantages and disadvantages:

Loading…
Cancel
Save