WPFWindowがあり、どこかListViewにバインドする場所がありList<string>ます。
今、どこかで私ListViewがあるTextBoxとContentプロパティがに設定されています{Binding}。
しかし、これは省略形です。自分自身にバインドするための完全なバインディングを作成するにはどうすればよいですか?
{Binding Path=Self}動作しません。動作しません{Binding Self}(後者は前者のショートカットです)。
WPFWindowがあり、どこかListViewにバインドする場所がありList<string>ます。
今、どこかで私ListViewがあるTextBoxとContentプロパティがに設定されています{Binding}。
しかし、これは省略形です。自分自身にバインドするための完全なバインディングを作成するにはどうすればよいですか?
{Binding Path=Self}動作しません。動作しません{Binding Self}(後者は前者のショートカットです)。
回答:
簡単な答え:「それ自体にバインドする」ためのショートカットで{Binding}はありません(RelativeSource.Selfの意味で)。むしろ、現在のソースにバインドする、{Binding} と同等 {Binding Path=.}です。
詳述すると、バインディングにはソースとパスがあります。たとえば、「それ自体へのバインド」を行うことができます。
<myUIControl myProperty="{Binding RelativeSource={RelativeSource Self}, Path=x}" />
ただし、これによりソースがコントロール自体に設定されるため、x(x現在のデータコンテキストのプロパティではなく)UIコントロールのプロパティにアクセスしようとします。私があなたの質問をどのように理解したかから、これはあなたが望むものではありません。特に、それは何をするかではありません{Binding}:{Binding}ソースをそのまま(通常DataContextはいくつかの親要素の)に保ち、ソース自体にバインドします(と同等Path=.)。
CommandParameter="{Binding ElementName=MyDataGrid, Path=SelectedItems}"、SelectedItemsがバインドされたICommandに渡されるDataGridがあります。ただし、nullContextMenuを介してアクセスした場合は渡されます。私が試したCommandParameter="{selectedItemsのバインディング}", と` "{selectedItemsの=、のElementName = MyDataGridパスのバインド}" "{Binding RelativeSource={RelativeSource Self}, Path=SelectedItems}"。