Поделиться через


FrameworkContentElement.Name Свойство

Определение

Возвращает или задает имя, обозначающее элемент. Имя предоставляет ссылку на экземпляр, чтобы программный код программной части, например код обработчика событий, может ссылаться на элемент после его создания во время синтаксического анализа XAML.

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

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

Имя элемента.

Реализации

Атрибуты

Комментарии

Чаще всего это свойство используется при указании имени элемента XAML в разметке.

Это свойство, по сути, предоставляет удобное свойство на уровне платформы WPF для задания директивы XAML x:Name.

Name Получение объекта из кода не является распространенным явлением, так как если у вас уже есть соответствующая ссылка в коде, можно просто вызывать методы и свойства в ссылке на элемент и, как правило, не требуется Name. Исключением является, если строка имеет перегруженное значение, например, если это имя удобно отображать в пользовательском интерфейсе. Name Также не рекомендуется задавать из кода, если исходный Name код был задан из разметки, и изменение свойства не приведет к изменению ссылки на объект. Такие ссылки на объекты создаются только в том случае, если базовые области имен явно создаются во время загрузки XAML.

Необходимо специально вызвать RegisterName , чтобы внести эффективное изменение в Name свойство уже загруженного элемента.

Один из важных случаев, когда настройка Name из кода важна для именования элементов, с которыми будут выполняться раскадровки. Перед регистрацией имени может также потребоваться создать экземпляр и назначить NameScope экземпляр. См. раздел Примеры или Общие сведения о раскадровках.

Настройка Name из кода имеет ограниченные приложения, но поиск элемента по имени является более распространенным явлением, особенно если используется модель навигации, в которой страницы перезагружаются в приложение, а код времени выполнения не обязательно является кодом программной части соответствующей страницы. Служебный метод FindName, доступный из любого FrameworkContentElementобъекта , может рекурсивно найти любой элемент Name в логическом дереве этого элемента. Или можно использовать статический FindLogicalNodeLogicalTreeHelperметод , который также принимает строку в Name качестве аргумента.

Часто используемые корневые элементы (Windowнапример) Page реализуют интерфейс INameScope. Ожидается, что реализации этого интерфейса обеспечивают однозначные имена в пределах своей области.

Сведения о свойстве зависимостей

Поле идентификатора NameProperty
Для свойств метаданных задано значение true IsAnimationProhibited

Применяется к

См. также раздел