WPFバインディングでの「{Binding Path =。}」とはどういう意味ですか?


91

{Binding Path=.}WPFバインディングで何を意味しますか?

使用している人もいるようですが、説明がありません。

バインディング構文に(以外の{Binding /})特別な記号はありますか?

回答:


59

これは、現在のソースにバインドするための省略形です。詳細はこちらをご覧ください

具体的にはドキュメントから:

オプションで、ピリオド(。)パスを使用して現在のソースにバインドできます。たとえば、Text="{Binding}"はと同等Text="{Binding Path=.}"です。


1
@レイ-私の考えは正確に。速記をするつもりなら、なぜそこで止めるのですか?
ミカタン2009年

5
私はMSDNと議論することはできませんが、まだ違いがあります。{Binding Path =。}が機能している間、{Binding}はオブジェクト自体では使用できません(双方向であるため、プロパティが必要です)。
セルゲイアルドゥホフ2009年

@Sergey-{Binding}が機能せず、{Binding Path =。}が機能するコードサンプルはありますか?もしそうなら、MSDNはおそらく更新する必要があります...
micahtan

簡単:var s = "test; DataContext = s; and in <TextBox Text = {Binding} />-機能しません。ただし、MSDNはwikiではありません...
Sergey Aldoukhov

8
別の例:<TextBlock Text = "{Binding Converter = ...}" />は、パスを設定する必要があるため機能しません。その場合、Path =です。便利です。
Nicolas

67

私はこのWPFバインディングチートシートを数か月前に見つけて、特にWPFを学習している人にとって非常に便利だと思いました。その中にいくつかのスペルミスがありますが、それでもかなり良いです。

ここに小さな抜粋があります(これは表形式になっているはずです):

Basic Binding   
{Binding}  Bind to current DataContext. 
{Binding Name}  Bind to the “Name” proeprty of the current DataContext. 
{Bindind Name.Length}  Bind to the Length property of the object in the Name property of the current DataContext. 
{Binding ElementName=SomeTextBox, Path=Text}  Bind to the “Text” property of the element XAML element with name=”SomeTextBox” or x:Name=”SomeTextBox”. 

チートシートへの直接リンク


2
いいですが、{Binding。}とは何ですか。この説明を探していますが見つかりませんか?
batmaci

@batmaciこれはと同等だと言いたいのですが{Binding }、Xamlで多くの作業を行ってからかなりの数年が経過しているため、よくわかりません。
Ryan Versaw 2016年

@batmaci、数年後... {Binding string}はに似てい{Binding Path=string}ます。stringプロパティを初期化するために使用されていないPath直接、しかし、コンストラクタのパラメータとしてBinding (string path)、次に初期化Pathプロパティを。これは、文字列がの後の最初のトークンでBindingあり、残りが通常の初期化子(property = valueのペア)である場合にのみ機能します。それを知っていることBinding .は、事実上等しいことでBinding Path=.あり、プロパティのパス構文はここで入手できます
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.