FrameworkElement.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

屬性值

Object

用做為資料內容的物件。

屬性

範例

下列範例說明資料內容如何在系結上運作,並提供定義系結屬性特定值的資訊。

<Window.Resources>
  <src:LeagueList x:Key="MyList" />
</Window.Resources>
<DockPanel DataContext="{Binding Source={StaticResource MyList}}">

備註

資料內容 是一種概念,可讓元素繼承其父元素中用於系結的資訊,以及系結的其他特性,例如路徑。

資料內容可以直接設定為 .NET 物件,並將系結評估為該物件的屬性。 或者,您可以將資料內容設定為 DataSourceProvider 物件。

這個相依性屬性會繼承屬性值。 如果沒有透過本機值或樣式建立之其他值的 DataContext 子專案,則屬性系統會將值設定為 DataContext 指派這個值之最接近父元素的值。

或者,您可以使用 類別的下列其中一個屬性 Binding 來明確指定系結來源:

- <xref:System.Windows.Data.Binding.ElementName%2A>.
- <xref:System.Windows.Data.Binding.Source%2A>.
- <xref:System.Windows.Data.Binding.RelativeSource%2A>. 

如需詳細資訊,請參閱 如何:指定系結來源

在 XAML 中, DataContext 通常設定為 Binding 宣告。 您可以使用屬性專案語法或屬性語法。 屬性語法會顯示在此頁面上的範例中。 您也可以使用程式碼來設定 DataContext

DataContext 是可系結的屬性,可協助一個內容可能系結至另一個內容的案例。 不過,如果您系結至 DataContext ,請小心不要建立迴圈系結參考, (不會系結 DataContext 至本身,因為屬性) 的 DataContext 屬性值繼承本質,所以可能會這麼做。

XAML 屬性項目用法

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

XAML Attribute Usage

<object DataContext="bindingUsage"/>  

-或-

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

XAML 值

dataCoNtextObject
直接内嵌物件,可作為父元素內任何系結的資料內容。 一般而言,這個物件是 Binding 或其他 BindingBase 衍生類別。 或者,任何用於系結之物件類型的未經處理資料,都可以在這裡放置,並稍後定義實際系結。

bindingUsage
評估為適當資料內容的系結使用方式。 如需詳細資訊,請參閱Binding 標記延伸模組

resourceExtension
下列其中一項: StaticResourceDynamicResource 。 參考資源中定義為物件的原始資料時,會使用此用法。 請參閱 XAML 資源

coNtextResourceKey
從 內 ResourceDictionary 要求之物件的索引鍵識別碼。

相依性屬性資訊

識別碼欄位 DataContextProperty
設定為 的中繼資料屬性 true Inherits

適用於