We discussed this a bit in chat and came up with a couple of ideas for syntax:
<Foo Bar="{$parent[Window].Baz}" /> would bind to the first ancestor of type Window.
<Foo Bar="{$parent[Grid, 2].Baz}" /> would bind to the second ancestor of type Grid. Not sure how useful this is.
<Foo Bar="{$root.Baz}" /> would bind to the first parent of type Window or userControl
The equivalent WPF syntax is so ugly I don't even want to type it :)
We'll still need the {Binding} part according to XAML syntax (though I would love to have a similar binding syntax to polymer where e.g. {{Value}} would mean the same as {Binding Value}.
Given that, here are a few more ideas:
{Binding $parent.Foo} logical parent{Binding $parent[1].Foo} logical grandparent{Binding $self.Foo} property on selfI'm going to take a stab at implementing this.
Most helpful comment
We'll still need the
{Binding}part according to XAML syntax (though I would love to have a similar binding syntax to polymer where e.g.{{Value}}would mean the same as{Binding Value}.Given that, here are a few more ideas:
{Binding $parent.Foo}logical parent{Binding $parent[1].Foo}logical grandparent{Binding $self.Foo}property on self