FrameworkContentElement.Name Свойство

Определение

Возвращает или задает имя, обозначающее элемент.Gets or sets the identifying name of the element. Имя предоставляет ссылку на экземпляр, чтобы код программной части, например код обработчика событий, мог ссылаться на элемент после создания этого элемента во время синтаксического анализа XAMLXAML.The name provides an instance reference so that programmatic code-behind, such as event handler code, can refer to an element once it is constructed during parsing of XAMLXAML.

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; }
member this.Name : string with get, set
Public Property Name As String

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

Имя элемента.The name of the element.

Реализации

Атрибуты

Комментарии

Наиболее распространенный способ использования этого свойства — при указании имени элемента XAMLXAML в разметке.The most common usage of this property is when specifying a XAMLXAML element name in markup.

Это свойство по сути предоставляет удобное свойство уровня инфраструктуры WPF для установки директивы XAMLXAML x:Name.This property essentially provides a WPF framework-level convenience property to set the XAMLXAML x:Name Directive.

Получение Name из кода не является распространенным, так как если у вас уже есть соответствующая ссылка в коде, можно просто вызвать методы и свойства в ссылке на элемент и, как правило, не требуется Name.Getting a Name from code is not common, because if you have the appropriate reference in code already, you can just call methods and properties on the element reference and do not generally need the Name. Исключением является то, что в строке есть перегруженное значение, например, если полезно отобразить это имя в ИПUI.An exception is if the string has some overloaded meaning, for instance if it is useful to display that name in ИПUI. Установка Name из кода, если исходная Name была задана из разметки, также не рекомендуется, а изменение свойства не приведет к изменению ссылки на объект.Setting a Name from code if the original Name was set from markup is also not recommended, and changing the property will not change the object reference. Такие ссылки на объекты создаются только в том случае, если базовые области видимости имен создаются явно во время загрузки XAMLXAML.Such object references are created only when the underlying namescopes are explicitly created during XAMLXAML loading.

Необходимо специально вызвать RegisterName, чтобы внести эффективное изменение в свойство Name уже загруженного элемента.You must specifically call RegisterName to make an effective change on the Name property of an already loaded element.

Один важный случай, когда важнее Name кода, заключается в именовании элементов, для которых будут выполняться раскадровки.One notable case where setting Name from code is important is for naming elements that storyboards will run against. Прежде чем можно будет зарегистрировать имя, может также потребоваться создать и назначить экземпляр NameScope.Before you can register a name, might also need to instantiate and assign a NameScope instance. См. раздел "пример" или Общие сведения о раскадровках.See the Example section, or Storyboards Overview.

Установка Name из кода имеет ограниченные приложения, но поиск элемента по имени является более распространенным, особенно если используется модель навигации, когда страницы перезагружены в приложение и код времени выполнения не обязательно является вспомогательным кодом этого соответствующая страница.Setting Name from code has limited applications, but looking up an element by name is more common, particularly if you are employing a navigation model where pages reload into the application and the run-time code is not necessarily the code-behind of that respective page. Служебный метод FindName, доступный из любого FrameworkContentElement, может найти любой элемент, Name рекурсивно в логическом дереве этого элемента.The utility method FindName, which is available from any FrameworkContentElement, can find any element by Name in that element's logical tree recursively. Или можно использовать FindLogicalNode статический метод LogicalTreeHelper, который также принимает в качестве аргумента Nameную строку.Or you can use the FindLogicalNode static method of LogicalTreeHelper, which also takes the Name string as an argument.

Часто используемые корневые элементы (например,Window, Page) реализуют интерфейс INameScope.Commonly used root elements (Window, Page for example) implement the interface INameScope. Реализации этого интерфейса должны обеспечивать однозначность имен в пределах их области.Implementations of this interface are expected to enforce that names be unambiguous within their scope.

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

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

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

Дополнительно