INameScope Interfejs
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Definiuje kontrakt dotyczący sposobu uzyskiwania dostępu do nazw elementów w określonym zakresie nazw XAML oraz wymuszania unikatowości nazw w ramach tego zakresu nazw XAML.
public interface class INameScope
public interface INameScope
type INameScope = interface
Public Interface INameScope
- Pochodne
Uwagi
Ten interfejs jest implementowany przez klasy, które mają elementy podrzędne, które mają być ponownie używane za pośrednictwem szablonu lub odroczenia metafory. Szablony, fabryki i podobne konstrukcje muszą mieć unikatowe zakresy nazw XAML, które są oddzielone od głównego grafu obiektów i głównego kodu XAML. Zasada polega na tym, że podczas tworzenia obiektów utworzonych na podstawie tych elementów podrzędnych do grafu obiektów aplikacji nie powinno występować żadne kolizje nazw, a więc operacje DOM i techniki odwołań XAML, które opierają się na identyfikatorze nazwy, mogą polegać na unikatowości nazw w każdym zakresie nazw XAML.
W poprzednich wersjach .NET Framework ten interfejs istniał w bazie danych WindowsBase zestawu specyficznego dla platformy WPF. W .NET Framework 4 INameScope znajduje się w zestawie System.Xaml. Aby uzyskać więcej informacji, zobacz Typy migrowane z WPF do System.Xaml.
Uwagi dotyczące użycia platformy WPF
Ten interfejs jest implementowany przez klasę NameScopeWPF . Większość operacji nazw XAML w WPF działa przy użyciu NameScope wystąpień, ale informacje są od czasu do czasu przekazywane wewnętrznie przy użyciu INameScope odwołań.
Przykłady klas WPF używających fabryki lub odroczenia metafory w połączeniu z reprezentacją XAML to Style i FrameworkTemplate. Te implementacje zwykle opierają się na jawnych wersjach metod interfejsu dostępnych z NameScope klasy.
Metody
FindName(String) |
Zwraca obiekt, który ma podaną nazwę identyfikującą. |
RegisterName(String, Object) |
Rejestruje podaną nazwę w bieżącym horyzakresie XAML. |
UnregisterName(String) |
Wyrejestrowuje podaną nazwę z bieżącego zakresu nazw XAML. |