Binding.ElementName Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
public:
property Platform::String ^ ElementName { Platform::String ^ get(); void set(Platform::String ^ value); };
winrt::hstring ElementName();
void ElementName(winrt::hstring value);
public string ElementName { get; set; }
var string = binding.elementName;
binding.elementName = string;
Public Property ElementName As String
<Binding ElementName="nameString"/>
Значение свойства
Значение свойства Name или атрибута x:Name для элемента, который требуется использовать в качестве источника привязки. Значением по умолчанию является пустая строка.
Примеры
В следующем примере кода показано, как установить двусторонняя привязка между Элементом управления TextBox и Элементом управления Slider . Полный список кода см. в сценарии 1 в примере привязки данных XAML.
<Slider x:Name="slider1" Minimum="1" Maximum="100"/>
<TextBox Text="{Binding ElementName=slider1, Path=Value, Mode=TwoWay}"/>
Комментарии
При установке этого свойства указанное значение должно ссылаться на элемент в одном из следующих расположений:
- Текущая область имен XAML.
- Область имен XAML шаблона родительского элемента, если целевой объект привязки находится в шаблоне данных или шаблоне элемента управления. Из-за этого ограничения нельзя использовать свойство ElementName для привязки к элементам, созданным не с помощью XAML. Для привязки к элементам, созданным программным способом, используйте вместо него свойство Source . Source, RelativeSource и ElementName являются взаимоисключающими в привязке. Если вы задали один из этих атрибутов, установка одного из двух других атрибутов в привязке (с помощью XAML или кода) вызовет исключение.
Привязки, использующие значение ElementName, почти всегда включают простой путь , который называет свойство, существующее в объекте, на который ссылается ссылка. Как правило, свойство источника из именованного элемента и целевого свойства в целевом объекте имеют одинаковое имя и используют один и тот же тип значения. Этот сценарий довольно часто встречается в определениях шаблонов элементов управления, которые составные части элемента управления, но поверхностные свойства из частей. Если свойства источника и назначения используют разные типы, укажите значение преобразователя , которое может разрешить разницу типов и вернуть соответствующее значение для назначения.
Дополнительные сведения о областях имен XAML и о том, как они влияют на привязки и другой программный доступ к объектам, созданным из XAML, см. в разделе Области имен XAML.
Значение ElementName технически может быть любой строкой, но значения атрибута Name и x:Name принудительно должны быть допустимыми в грамматике XamlName, поэтому вы обычно привязаны к этой грамматике для значения ElementName. Дополнительные сведения о том, что допустимо для имени элемента, см. в разделе "Грамматика XamlName" справочника по атрибуту x:Name .
Нельзя задать значения свойств объекта Binding после того, как привязка будет присоединена к целевому элементу и целевому свойству. Если вы попытаетесь сделать это, вы получите исключение во время выполнения.