97

WPFWindowがあり、どこかListViewにバインドする場所がありList<string>ます。

今、私のどこかにListViewTextBoxあり、Contentプロパティはに設定されてい{Binding}ます。

しかし、これは省略形です。自分自身にバインドするための完全なバインディングを作成するにはどうすればよいですか?

{Binding Path=Self}動作しません。動作しません{Binding Self}(後者は前者のショートカットです)。

4

1 に答える 1

265

簡単な答え:「それ自体にバインドする」ためのショートカットで{Binding}はありません( RelativeSource.Selfの意味で)。むしろ、現在のソースにバインドする、{Binding} と同等です。 {Binding Path=.}


詳細に説明すると、バインディングにはソースパスがあります。たとえば、「それ自体へのバインド」を行うことができます。

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

ただし、これによりソースがコントロール自体に設定されるため、 (現在のデータコンテキストのxプロパティではなく)UIコントロールのプロパティにアクセスしようとします。x私があなたの質問をどのように理解したかから、これはあなたが望むものではありません。特に、それは何をするかではありません{Binding}{Binding}ソースをそのまま(通常はDataContextいくつかの親要素の)に保ち、ソース自体にバインドします(と同等Path=.)。

于 2009-12-15T10:49:58.123 に答える