tags:

views:

162

answers:

1
+1  Q: 

WPF Bind to itself

Hi,

I've got a WPF Window, and somewhere there is a ListView where I bing a List<string> to.

Now somewhere in my listview there is a TextBox and the Content property is set to {Binding}

But this is the shorthand. How do I write the full binding to bind to itself?

{Binding Path=Self} doesn't work, neither does {Binding Self} (where the latter is a shortcut for the former).

+4  A: 

Short answer:{Binding} is not a shortcut for "binding to itself" (in the sense of RelativeSource.Self). Rather, {Binding} is equivalent to {Binding Path=.}, which binds to the current source.


To elaborate: A binding has a source and a path. You can do a "binding to itself", for example, by using

<myUIControl myProperty="{Binding RelativeSource={RelativeSource Self}, Path=x}" />

This, however, sets the source to the control itself, so it will try to access property x of the UI control (rather than property x of the current data context). From how I understood your question, this is not what you want; in particular, it is not what {Binding} does: {Binding} keeps the source as it is (usually the DataContext of some parent element) and binds to the source itself (equivalent to Path=.).

Heinzi
Thank you very much!
Snake
Good answer, I'd give you +2 if I could.
Bryan Anderson