Экспорт (0) Печать
Развернуть все

FrameworkElement.DataContext - свойство

Обновлен: Ноябрь 2007

Возвращает или задает контекст данных для элемента, участвующего в привязке данных. Это свойство зависимостей.

Пространство имен:  System.Windows
Сборка:  PresentationFramework (в PresentationFramework.dll)
XMLNS для XAML: http://schemas.microsoft.com/winfx/xaml/presentation

[LocalizabilityAttribute(LocalizationCategory.NeverLocalize)]
public Object DataContext { get; set; }
/** @property */
/** @attribute LocalizabilityAttribute(LocalizationCategory.NeverLocalize) */
public Object get_DataContext()
/** @property */
/** @attribute LocalizabilityAttribute(LocalizationCategory.NeverLocalize) */
public  void set_DataContext(Object value)

public function get DataContext () : Object
public function set DataContext (value : Object)
<object>
  <object.DataContext>
    <dataContextObject />
  </object.DataContext>
</object>
<object DataContext="bindingUsage"/>
- or -
<object DataContext="{resourceExtension contextResourceKey}"/>
dataContextObject
                    Непосредственно внедренный объект, который служит контекстом данных для любых привязок внутри родительского элемента. Обычно этот объект принадлежит к классу Binding или любому производному от BindingBase. В качестве альтернативы здесь можно разместить необработанные данные любого объектного типа CLR, предназначенного для привязки, а фактические привязки определить позже.
                bindingUsage
                    Использование привязки, вычисляемое в соответствующий контекст данных. Дополнительные сведения см. в разделе Привязка расширения разметки.
                resourceExtension
                    Одно из следующих: StaticResource или DynamicResource. Это использование имеет место при обращении к необработанным данным, определенным в ресурсах как объект. См. раздел Общие сведения о ресурсах.
                contextResourceKey
                    Ключевой идентификатор объекта, запрашиваемого изнутри ResourceDictionary.
                

Значение свойства

Тип: System.Object
Объект для использования в качестве контекста данных.

Поле идентификатора

DataContextProperty

Свойства метаданных, которым присвоено значение true

Inherits

Контекст данных — это концепция, позволяющая элементам наследовать от своих родительских элементов информацию об источнике данных, используемом для привязки, а также другие характеристики привязки, например путь.

В качестве контекста данных можно задать непосредственно объект среда CLR (common language runtime) с привязками, вычисляемыми в свойства этого объекта. В качестве альтернативы можно задать контекст данных в виде объекта DataSourceProvider.

Такое свойство зависимостей наследует значения свойств. Если имеются дочерние элементы без других значений DataContext, установленных через локальные значения или стили, то система свойств установит в качестве данного значения значение DataContext ближайшего родительского элемента с назначенным таким значением.

В качестве альтернативы можно использовать одно из следующих свойств класса Binding для явного задания источника привязки: ElementName, Source или RelativeSource. Дополнительные сведения см. в разделе Практическое руководство. Указание источника привязки.

В XAML свойство DataContext чаще всего задается в виде объявления Binding. Можно использовать либо синтаксис элементов свойств, либо синтаксис атрибутов. Синтаксис атрибутов показан в примере на данной странице. Свойство DataContext можно также задать в коде.

DataContext является привязываемым свойством, делающим возможными сценарии, в которых один контекст может быть привязан к другому. Однако в случае привязки к свойству DataContext следует соблюдать осторожность, чтобы не создать кольцевые ссылки на привязки (не привязывать свойство DataContext к самому себе, что возможно из-за характера наследования значения свойства DataContext).

Следующий пример показывает, как действует контекст данных на привязку и предоставляет информацию, определяющую конкретные значения связанных свойств.

<Window.Resources>
  <src:LeagueList x:Key="MyList" />


...


</Window.Resources>


...


<DockPanel DataContext="{Binding Source={StaticResource MyList}}">


Windows Vista

Среды .NET Framework и .NET Compact Framework поддерживают не все версии каждой платформы. Поддерживаемые версии перечислены в разделе Требования к системе для .NET Framework.

.NET Framework

Поддерживается в версиях: 3.5, 3.0

Добавления сообщества

ДОБАВИТЬ
Показ:
© 2014 Microsoft