What does Binding="{Binding (0)}" mean?

It looks like a bug. As far as I know, in WPF can not be Binding of this type. Below is a list of deficiencies, please pay attention to the first paragraph, quoted from connect.microsoft.com (archive):

I'm trying to style the ribbon control (System.Windows.Controls.Ribbon) and I keep running into problems.

  • If I use Blend or another tool to copy the default template of the Ribbon, the RibbonGroup, the RibbonTab, etc. these templates have errors. There are Bindings like {Binding (0)}.

  • I cannot change the height of the ribbon control.

  • It's not possible to change the template of the RibbonGroup, to change the appearance of the separator and to place the header in the top left corner of the group.

  • It's not possible to add a label to the ApplicationMenuButton. Furthermore this button has a fixed width.

  • I can't manage to remove the borders at the bottom of the ribbon control.

As I understand it, there is no hotfix.


The only time this can appear is in the tokenized path format. See the code examples under "Indirect Targeting" in the Storyboards Overview. In XAML code, however, it's invalid. I imagine what happened was something like this:

// something goes wrong here, and GetProperties returns an empty array
var propertyChain = GetProperties();

var path = new PropertyPath("(0)", propertyChain);

trigger.Binding = new Binding { Path = path };

With an empty PathParameters, the XAML generator might then dump the raw tokenized path.