FrameworkContentElement.DataContext 屬性

定義

當元素參與資料綁定時,取得或設定其資料上下文。

public:
 property System::Object ^ DataContext { System::Object ^ get(); void set(System::Object ^ value); };
[System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)]
public object DataContext { get; set; }
[<System.Windows.Localizability(System.Windows.LocalizationCategory.NeverLocalize)>]
member this.DataContext : obj with get, set
Public Property DataContext As Object

屬性值

作為資料上下文的物件。

屬性

範例

以下範例透過建立一個新的自訂資料物件,將該物件設定為 Paragraph,並將綁定路徑設定為該物件中的屬性,從而對元素DataContext建立綁定。

MyData myDataObject = new MyData();
myflowdocument.DataContext = myDataObject;
introParagraph.SetBinding(Paragraph.TagProperty, "CustomData");
Dim myDataObject As New MyData()
myflowdocument.DataContext = myDataObject
introParagraph.SetBinding(Paragraph.TagProperty, "CustomData")

備註

資料上下文 是一個概念,允許元素繼承其父元素關於用於綁定的來源資訊,以及綁定的其他特性,例如路徑。

資料上下文可以直接設定為通用語言執行時(CLR)物件,綁定會評估該物件的屬性。 或者,你也可以將資料上下文設定為物件 DataSourceProvider

這種依賴性質會繼承財產價值。 若有子元素沒有其他透過本地值或樣式建立的值 DataContext ,屬性系統會將該值設定為 DataContext 最近且該值為最近且賦值為父元素的值。

或者,你也可以使用類別的 Binding 以下特性之一來明確指定綁定來源: ElementName、、 SourceRelativeSource。 欲了解更多資訊,請參閱 如何指定綁定來源

在 XAML 中, DataContext 通常會設定為 Binding 宣告。 你可以使用屬性元素語法或屬性語法。 屬性語法如本頁範例所示。 你也可以用程式碼設定 DataContext

XAML 屬性元素使用方式

<object>
  <object.DataContext>
    <dataContextObject />
  </object.DataContext>
</object>

XAML 屬性使用方式

<object DataContext="bindingUsage"/>

-或-

<object DataContext="{resourceExtension contextResourceKey}"/>

XAML 值

dataContextObject 一個直接嵌入的物件,作為父元素內任何綁定的資料上下文。 通常,這個物件是某 Binding 個子類別或其他 BindingBase 子類別。 或者,任何用於綁定的 CLR 物件類型的原始資料也可以放在這裡,實際綁定則會在後續定義。

bindingUsage 一種結合式使用,會根據適當的資料上下文評估。 如需詳細資訊,請參閱Binding 標記擴充

resourceExtension 以下其中之一: StaticResource,或 DynamicResource。 此用法用於指代資源中定義為物件的原始資料。 請參閱 XAML 資源

contextResourceKey 在 中請求 ResourceDictionary物件的金鑰識別碼。

相依財產資訊

Item 價值觀
識別碼欄位 DataContextProperty
元資料屬性設為 true Inherits

適用於