10

最近、MSDNの「データバインディングの概要」の記事を読みました。そのようなサンプルコードがあります。

<TextBox.ToolTip>
  <Binding RelativeSource="{RelativeSource Self}" Path="(Validation.Errors)[0].ErrorContent"/>
</TextBox.ToolTip>

私はそれがマークアップ拡張を意味することを知っていますが、ここで括弧は{}どういう意味ですか?()誰かがそのような構文の説明へのリンクを共有するのは素晴らしいことです。ありがとう!

Path="(Validation.Errors)[0].ErrorContent"
4

4 に答える 4

14

括弧は()添付プロパティを示します。

添付プロパティへのバインド

于 2013-01-17T15:47:18.137 に答える
7

MSDNライブラリの引用(MSDNをより適切に書き留めることができなかったため、ここで引用しています):

この構文は通常、次のいずれかの場合に使用されます。

  • パスは、指定されていないスタイルまたはテンプレートのXAMLで指定されますTargetType。非スタイル、非テンプレートの場合、プロパティはタイプではなくインスタンスに存在するため、修飾された使用法は通常、これ以外の場合には無効です。
  • プロパティは添付プロパティです。
  • 静的プロパティにバインドしています。

ストーリーボードターゲットとして使用するには、として指定されたプロパティはでpropertyNameある必要がありDependencyPropertyます。

于 2013-01-17T15:48:46.867 に答える
5

(Validation.Errors)クラスErrors内の添付プロパティを参照します。ValidationバインディングにはがRelativeSource = Self含まれているため、TextBox自体に関してアタッチされたプロパティの値を検索します。

于 2013-01-17T15:45:43.243 に答える
0

以下のmsdnリンクは、検証ルールとシーケンス、および使用方法についてきちんと説明しています。

http://msdn.microsoft.com/en-us/library/system.windows.controls.validation.errors.aspx

于 2013-01-17T17:45:30.867 に答える