INameScope Интерфейс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Определяет контракт для способа доступа к именам элементов в определенной области имен XAML, а также способа обеспечения уникальности имен в этой области имен XAML.
public interface class INameScope
public interface INameScope
type INameScope = interface
Public Interface INameScope
- Производный
Комментарии
Этот интерфейс реализуется классами, имеющими дочерние элементы, которые предназначены для повторного использования с помощью шаблона или метафоры отсрочки. Шаблоны, фабрики и аналогичные конструкции должны иметь уникальные области имен XAML, которые отделены от графа объектов main и корневого xaml XAML. Здесь принцип заключается в том, что не должно быть конфликтов имен, когда объекты, созданные из этих дочерних элементов, внедряются в граф объектов приложения, и поэтому операции DOM и методы ссылок XAML, использующие идентификатор имени, могут полагаться на уникальность имен в каждой области имен XAML.
В предыдущих версиях платформа .NET Framework этот интерфейс существовал в сборке WindowsBase для WPF. В платформа .NET Framework 4 INameScope находится в сборке System.Xaml. Для получения дополнительной информации см. Types Migrated from WPF to System.Xaml.
Примечания об использовании WPF
Этот интерфейс реализуется классом NameScopeWPF . Большинство операций с областью имен XAML в WPF выполняются с использованием NameScope экземпляров, но иногда информация передается внутренне с помощью INameScope ссылок.
Примерами классов WPF, использующих метафору фабрики или отсрочки в сочетании с представлением XAML, являются Style и FrameworkTemplate. Эти реализации обычно зависят от явных версий методов интерфейса, доступных NameScope из класса .
Методы
FindName(String) |
Возвращает объект с предоставленным идентифицирующим именем. |
RegisterName(String, Object) |
Регистрирует предоставленное имя в текущей области имен XAML. |
UnregisterName(String) |
Отменяет регистрацию предоставленного имени в текущей области имен XAML. |