1. ホーム
  2. wpf

[解決済み] WPF 自分自身へのバインド

2023-01-13 05:58:38

質問

私は、WPFの Window があり、どこかに ListView をバインドしているところ List<string> にしています。

では、どこか私の ListView があります。 TextBox であり、その Content プロパティに {Binding} .

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

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

どのように解決するのですか?

簡単な答え : {Binding} ではない は、quot;binding to itself"のショートカットではありません。 RelativeSource.Self ). むしろ {Binding} と同じです。 {Binding Path=.} と同じで、現在のソースにバインドされます。


詳しく説明すると : バインディングは ソース パス . 自分自身への "バインド" を行うには、たとえば

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

しかし、これは ソース をコントロール自体に設定するため、プロパティ x という UI コントロールのプロパティにアクセスしようとします (むしろプロパティ x のプロパティではなく)。私があなたの質問を理解したところでは、これはあなたが望んでいることではありません。 {Binding} がすることではありません。 {Binding} はソースをそのまま維持します(通常 DataContext である)、ソース自体にバインドする(等価な) Path=. ).