情報
要求されたトピックは次のとおりです。しかし、このトピックはこのライブラリには含まれていません。

Binding.Source プロパティ

2013/12/12

バインディングのデータ ソースを取得または設定します。

Namespace:  System.Windows.Data
アセンブリ:  System.Windows (System.Windows.dll 内)
XAML の XMLNS: xmlns にマップされていません。

public Object Source { get; set; }
<Binding Source="sourceReference"/>

XAML 値

sourceReference

データ ソースとして機能する既存のオブジェクトへの参照。通常、オブジェクトは ResourceDictionary で作成され、キーが指定され、StaticResource マークアップ拡張機能を使用して参照されます。次に例を示します。<Binding Source="{StaticResource customDataSourceObject}" .../>

プロパティ値

型: System.Object
バインディングのデータを含むソース オブジェクト。

例外条件
InvalidOperationException

Binding は既にターゲット要素に添付されており、変更できません。

または

ElementName プロパティまたは RelativeSource プロパティは既に設定されています。

Binding オブジェクトの Source プロパティは省略可能です。Binding オブジェクトの Source プロパティを設定した場合、データ ソースは、Binding オブジェクトを使用するターゲット プロパティにのみ適用されます。

ツリーのすべての子要素によって継承されるデータ ソースを作成する場合は、親要素の DataContext プロパティを設定するようにします。これにより、親要素およびそのすべての子が、バインディングのソースとして DataContext を参照するようになります。子要素に対して Source が設定されている場合、そのインスタンスでは、DataContext の継承がオーバーライドされます。

ターゲットは Source オブジェクトに直接バインドすることも (パスが空の場合)、Source オブジェクトのプロパティにバインドすることもできます (パスで定義されている場合)。パスは、XAML でバインディング構文によって設定されるか、Binding オブジェクトの作成時に設定されます。

XAML の使用上の注意

プロパティ要素構文を使用して、Binding.Source プロパティ要素を設定するオブジェクト要素を作成することはできますが、一般的ではありません。

バインディングで、SourceRelativeSourceElementName の指定を組み合わせることはできません。3 つの属性のいずれかが設定されているとき、残りの 2 つのうち、いずれかを (XAML またはコードで) バインディングで設定した場合、例外が発生します。


//Create the source string
string s = "Hello";

//Create the binding description
Binding b = new Binding("");
b.Mode = BindingMode.OneTime;
b.Source = s;

//Attach the binding to the target
MyText.SetBinding(TextBlock.TextProperty, b);


Windows Phone OS

サポート: 8.0, 7.1, 7.0

表示: