INameScope Gränssnitt
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Definierar ett kontrakt för hur namn på element ska nås inom ett visst XAML-namnskop och hur du framtvingar unika namn i XAML-namnsscopet.
public interface class INameScope
public interface INameScope
type INameScope = interface
Public Interface INameScope
- Härledda
Kommentarer
Det här gränssnittet implementeras av klasser som har underordnade element som är avsedda att återanvändas via mallen eller skjuta upp metaforen. Mallar, fabriker och liknande konstruktioner måste ha unika XAML-namnskop som är separata från ett huvudobjektdiagram och rot-XAML. Principen här är att det inte ska finnas några namnkollisioner när objekt som skapats från dessa underordnade element introduceras i ett programs objektdiagram, och så att DOM-åtgärder och XAML-referenstekniker som förlitar sig på namnidentifieraren kan förlita sig på namn unikhet i varje XAML-namnskop.
I tidigare versioner av .NET Framework fanns det här gränssnittet i den WPF specifika sammansättningen WindowsBase. I .NET Framework 4 finns INameScope i System.Xaml-sammansättningen. Mer information finns i Types Migrerad från WPF till System.Xaml.
WPF-användningsanteckningar
Det här gränssnittet implementeras av klassen WPF NameScope. De flesta XAML-namnscopeåtgärder i WPF fungerar med hjälp av NameScope-instanser, men information kommuniceras ibland internt med hjälp av referenser INameScope.
Exempel på WPF klasser som använder en fabrik eller skjut upp metafor i kombination med XAML-representation är Style och FrameworkTemplate. Dessa implementeringar förlitar sig vanligtvis på de explicita versionerna av de gränssnittsmetoder som är tillgängliga från NameScope klassen.
Metoder
| Name | Description |
|---|---|
| FindName(String) |
Returnerar ett objekt som har det angivna identifieringsnamnet. |
| RegisterName(String, Object) |
Registrerar det angivna namnet i det aktuella XAML-namnskopet. |
| UnregisterName(String) |
Avregistrerar det angivna namnet från det aktuella XAML-namnskopet. |