Having {Binding ElementName=foo}, will it lookup visual or logical tree?

Of logical and visual trees in WPF | Data See, Data Do

When does the logical tree matter?

When looking up a name, such as in {Binding ElementName=Foo}, the search walks up the ancestry looking for a name scope, again just as it does for inheritable properties.

ElementName binding in Silverlight via Attached Behaviours

In order to enable this, WPF provides ElementName and RelativeSource bindings, giving you a powerful mechanism for locating other elements within your visual tree to bind to

EDIT:

It looks like the Logical Tree used for binding by ElementName.

Argument # 1.

According to MSDN article FrameworkElement Class:

FrameworkElement extends UIElement and adds the following capabilities:

  • Support for data binding and dynamic resource references: The property-level support for data binding and resources is implemented by the DependencyProperty class and embodied in the property system, but the ability to resolve a member value that is stored as an Expression (the programming construct that underlies both data binding and dynamic resources) is implemented by FrameworkElement. For more information, see Data Binding Overview and Resources Overview.

Argument # 2.

ElementName points to x:Name

Edit
Report