FrameworkElement.Name Vlastnost

Definice

Získá nebo nastaví identifikační název prvku. Tento název poskytuje odkaz, aby kód za kódem, například kód obslužné rutiny události, mohl odkazovat na prvek revize po jeho vytvoření během zpracování procesorem 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

Hodnota vlastnosti

String

Název elementu. Výchozí hodnota je prázdný řetězec.

Implementuje

Atributy

Příklady

Následující příklad nastaví Name vlastnost v kódu a pak zaregistruje název do nově vytvořené NameScope voláním RegisterName. Zde znázorněná technika je požadavkem na animaci s scénářem, protože scénáře vyžadují cílení na Nameobjekty a nelze je cílit na odkaz na objekty.

//  
// Create a Rectangle
//
Rectangle myRectangle = new Rectangle();
myRectangle.Width = 200;
myRectangle.Height = 200;
myRectangle.Name = "myRectangle";
this.RegisterName(myRectangle.Name, myRectangle);
'  
' Create a Rectangle
'
Dim myRectangle As New Rectangle()
myRectangle.Width = 200
myRectangle.Height = 200
myRectangle.Name = "myRectangle"
Me.RegisterName(myRectangle.Name, myRectangle)

Poznámky

Nejběžnějším použitím této vlastnosti je zadat název elementu XAML jako atribut v revize.

Tato vlastnost v podstatě poskytuje vlastnost pohodlí na úrovni architektury WPF pro nastavení direktivy x:Name XAML.

Názvy musí být jedinečné v rámci názvového oboru názvů. Další informace naleznete v tématu WPF XAML Namescopes.

Name Získání, pokud vytváříte prvky v kódu, není běžné. Pokud už máte odpovídající odkaz v kódu, můžete pouze volat metody a vlastnosti v odkazu prvku a nebude obecně potřebovat Name. Výjimkou je, pokud Name má řetězec nějaký přetížený význam, například pokud je užitečné zobrazit tento název v uživatelském rozhraní. Name Nastavení kódu za kódem, pokud původní Name byl nastaven z revizí, se nedoporučuje a změna vlastnosti po načtení XAML nezmění původní odkaz na objekt. Odkazy na objekty se vytvoří pouze v případě, že se během analýzy explicitně vytvoří podkladové názvové rozsahy. Pokud chcete provést efektivní změnu Name vlastnosti již načteného prvku, musíte volat RegisterName konkrétně.

Jedním z důležitých případů, kdy je nastavení Name kódu důležité, je při registraci názvů prvků, na které se budou scénáře spouštět, aby bylo možné je v době běhu odkazovat. Než budete moct zaregistrovat název, možná bude potřeba vytvořit instanci a přiřadit NameScope instanci. Podívejte se na část Příklad nebo Přehled scénářů.

Nastavení Name z kódu má omezené aplikace, ale získání elementu je Name častější. Jedním z konkrétních scénářů je, že vaše aplikace podporuje navigační model, ve kterém se stránky znovu načtou do aplikace, a kód běhu nemusí být nutně za kódem definovaným pro tuto stránku. Metoda FindNamenástroje , která je k dispozici z libovolného FrameworkElement, může najít libovolný prvek v Name logickém stromu tohoto prvku, prohledávat strom rekurzivně podle potřeby. Nebo můžete použít statickou metodu FindLogicalNode LogicalTreeHelper, která také přebírá Name řetězec jako argument.

Obvykle použité kořenové prvky (WindowPagenapříklad) implementují rozhraní INameScope. Očekává se, že implementace tohoto rozhraní budou vynucovat, aby názvy byly v rámci jejich oboru jednoznačné. Kořenové prvky, které definují toto rozhraní, také definují hranice chování namescope pro všechna související rozhraní API.

Vlastnost Name slouží také jako identifikátor pro jiné procesy. Například model automatizace WPF se použije Name jako AutomationId pro klienty a poskytovatele.

Řetězcové hodnoty používané pro Name určité omezení, jak je stanoveno základní direktivou x:Name definovanou specifikací XAML. Name Především musí začínat písmenem nebo podtržítkem (_) a musí obsahovat pouze písmena, číslice nebo podtržítka. Další informace naleznete v tématu WPF XAML Namescopes.

Name je jedním z velmi málo vlastností závislostí, které nelze animovat (IsAnimationProhibited je true v metadatech), protože samotný název je důležitý pro cílení na animaci. Datová Name vazba je technicky možná, ale je to extrémně neobvyklý scénář, protože datová vazba Name nemůže sloužit hlavním zamýšleným účelem vlastnosti: poskytnutí spojovacího bodu identifikátoru pro kód za kódem.

Informace o vlastnosti závislosti

Pole identifikátoru NameProperty
Vlastnosti metadat nastavené na true IsAnimationProhibited

Platí pro