Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Egyedileg azonosítja az objektumelemeket a példányosított objektumhoz való hozzáféréshez háttérkódból vagy általános kódból. Miután alkalmazták egy háttérprogramozási modellre, az x:Name a konstruktor által visszaadott objektumhivatkozást tartalmazó változóval egyenértékűnek tekinthető.
XAML-attribútumok használata
<object x:Name="XAMLNameValue".../>
XAML-értékek
| Időszak | Description |
|---|---|
| XAMLNameValue | Az XamlName grammatika korlátozásainak megfelelő karakterlánc. |
XamlName nyelvhelyesség
A következő a sztring normatív nyelvtana, amelyet kulcsként használnak ebben az XAML-implementációban:
XamlName ::= NameStartChar (NameChar)*
NameStartChar ::= LetterCharacter | '_'
NameChar ::= NameStartChar | DecimalDigit
LetterCharacter ::= ('a'-'z') | ('A'-'Z')
DecimalDigit ::= '0'-'9'
CombiningCharacter::= none
- A karakterek az alsó ASCII-tartományra, pontosabban a római ábécé nagybetűire és kisbetűire, számjegyeire és aláhúzásjelére (_) korlátozódnak.
- A Unicode karaktertartomány nem támogatott.
- A név nem kezdődhet számjegyekkel. Egyes eszközmegvalósítások aláhúzásjelet (_) fűznek egy sztringhez, ha a felhasználó eredeti karakterként egy számjegyet ad meg, vagy az eszköz automatikusan létrehozza az x:Név értékeket más számjegyeket tartalmazó értékek alapján.
Megjegyzések
A megadott x:Név az alapul szolgáló kódban az XAML feldolgozásakor létrehozott mező neve lesz, és ez a mező az objektumra mutató hivatkozást tartalmaz. A mező létrehozásának folyamatát az MSBuild céllépései hajtják végre, amelyek az XAML-fájlok részleges osztályaihoz és a mögöttes kódhoz való csatlakozásért is felelősek. Ez a viselkedés nem feltétlenül XAML-nyelven van megadva; Az XAML-hez készült Univerzális Windows Platform (UWP) programozás az x:Name programozási és alkalmazásmodellekben való használatára vonatkozik.
Minden definiált x:Névnek egyedinek kell lennie egy XAML-névtávcsőben. Az XAML-névtávcső általában egy betöltött oldal gyökérelemszintjén van definiálva, és egyetlen XAML-lapon tartalmazza az elem alatt lévő összes elemet. A további XAML-névszkópokat az adott lapon definiált vezérlősablonok vagy adatsablonok határozzák meg. Futtatáskor egy másik XAML-névtávcső jön létre az alkalmazott vezérlősablonból létrehozott objektumfa gyökeréhez, valamint az XamlReader.Load hívásából létrehozott objektumfákhoz is. További információ: XAML namescopes.
A tervezőeszközök gyakran automatikusan generálják az x:Name értékeket az elemekhez, amikor azok a tervezőfelületre kerülnek. Az automatikus létrehozási séma attól függően változik, hogy melyik tervezőt használja, de egy tipikus séma egy olyan sztring létrehozása, amely az elemet alátámasztó osztálynévvel kezdődik, majd egy előrehaladó egész számmal. Ha például bemutatja az első gombelemet a tervezőnek, láthatja, hogy az XAML-ben ez az elem a "Button1" x:Name attribútumértékével rendelkezik.
x:A név nem állítható be az XAML tulajdonságelem szintaxisában vagy a SetValue-t használó kódban. x:A név csak XAML attribútumszintaxissal állítható be az elemeken.
Megjegyzés:
Kifejezetten C++/CX-alkalmazások esetén a rendszer nem hoz létre háttérmezőt x :Névhivatkozáshoz egy XAML-fájl vagy lap gyökéreleméhez. Ha a C++ kód mögötti gyökérobjektumra kell hivatkoznia, használjon más API-kat vagy fabejárást. Meghívhatja például a FindName nevet egy ismert gyermekelemhez, majd meghívhatja a Szülőt.
x:Név és egyéb névtulajdonságok
Az XAML-ben használt egyes típusok rendelkeznek név nevű tulajdonságokkal is. Például FrameworkElement.Name és TextElement.Name.
Ha a Név beállítható tulajdonságként érhető el egy elemen, a Név és x:Név felcserélhetők az XAML-ben, de hiba lép fel, ha mindkét attribútum ugyanazon elemen van megadva. Vannak olyan esetek is, amikor a Név tulajdonság létezik, de csak olvasható (mint például a VisualState.Name). Ha ez a helyzet, akkor mindig az x:Name nevet használja az XAML adott elemének elnevezéséhez, és a csak olvasható név létezik néhány kevésbé gyakori kódforgatókönyv esetében.
Vegye figyelembe, FrameworkElement.Name általában nem használható az eredetileg x:Név beállítással beállított értékek módosítására, bár vannak olyan forgatókönyvek, amelyek kivételt képeznek az általános szabály alól. Általában az XAML-névtávcsövek létrehozása és definíciója egy XAML-processzorművelet. A FrameworkElement.Name futásidőben történő módosítása inkonzisztens XAML-névtávcső/ magánmező-elnevezési igazítást eredményezhet, amelyet nehéz nyomon követni a kód mögött.
x:Név és x:Kulcs
x:A név attribútumként alkalmazható a ResourceDictionary elemeire, hogy helyettesítse az x:Key attribútumot. (Ez egy szabály, amely szerint a ResourceDictionary összes elemének x:Key vagy x:Name attribútummal kell rendelkeznie.) Ez gyakori a storyboarded animációk esetében. További információ: ResourceDictionary és XAML erőforráshivatkozások.
Windows developer