This requires that a `<Transitions>` element is used to contain the transitions in XAML and a `new Transitions()` is used when assigning transitions from code.
The changes made to the animation system in #1768 currently needs to be able to set any property on any object in order for animations on transforms to work.
Make `SolidColorBrush` immutable, but make the static `Brushes`
properties return immutable brushes. The immutable brushes will be
needed by the deferred renderer.
`SolidColorBrush` is now mutable. There are immutable versions of
brushes in the `Avalona.Media.Immutable` namespace and the static
`Brushes.Xxx` properties return these.
StyleResources cannot currently be found in other style resources
because the style resource binding is evaluated before the style is
attached to the parent. Described in #492.
This is needed so that things like the following can be done:
<TreeView>
<TreeView.Styles>
<Style Selector="TreeViewItem">
<Setter Property="IsExpanded" Value="{Binding IsExpanded}"/>
</Style>
</TreeView.Styles>
<TreeView>
(At the moment we have TreeDataTemplate.IsExpanded but this isn't good
enough: it only supports setting IsExpanded on creation of the item with
no binding.)
With this commit, setters can now contain bindings, but they aren't yet
applied correctly. As part of this commit, classes related to binding
have been moved to the Perspex.Data namespace.