Поделиться через


SelectionPolicy - класс

Политика, обеспечивающая доступность всех элементов в выделении.

Иерархия наследования

System.Object
  Microsoft.Windows.Design.Policies.ItemPolicy
    Microsoft.Windows.Design.Policies.SelectionPolicy
      Microsoft.Windows.Design.Policies.PrimarySelectionPolicy
      Microsoft.Windows.Design.Policies.SecondarySelectionPolicy
      Microsoft.Windows.Design.Policies.SelectionParentPolicy

Пространство имен:  Microsoft.Windows.Design.Policies
Сборка:  Microsoft.Windows.Design.Interaction (в Microsoft.Windows.Design.Interaction.dll)

Синтаксис

'Декларация
<RequiresContextItemAttribute(GetType(Selection))> _
<RequiresContextItemAttribute(GetType(Tool))> _
Public Class SelectionPolicy _
    Inherits ItemPolicy
[RequiresContextItemAttribute(typeof(Selection))]
[RequiresContextItemAttribute(typeof(Tool))]
public class SelectionPolicy : ItemPolicy
[RequiresContextItemAttribute(typeof(Selection))]
[RequiresContextItemAttribute(typeof(Tool))]
public ref class SelectionPolicy : public ItemPolicy
[<RequiresContextItemAttribute(typeof(Selection))>]
[<RequiresContextItemAttribute(typeof(Tool))>]
type SelectionPolicy =  
    class
        inherit ItemPolicy
    end
public class SelectionPolicy extends ItemPolicy

Тип SelectionPolicy предоставляет следующие члены.

Конструкторы

  Имя Описание
Открытый метод SelectionPolicy Инициализирует новый экземпляр класса SelectionPolicy.

В начало страницы

Свойства

  Имя Описание
Защищенное свойство Context Возврат контекста редактирования для конструктора. (Унаследовано от ItemPolicy.)
Открытое свойство IsSurrogate Возврат значения, указывающего, является ли политика политикой замещения. (Унаследовано от ItemPolicy.)
Открытое свойство PolicyItems Получает перечисление элементов, которые затрагивает эта политика. (Переопределяет ItemPolicy.PolicyItems.)

В начало страницы

Методы

  Имя Описание
Открытый метод Equals Определяет, равен ли заданный объект Object текущему объекту Object. (Унаследовано от Object.)
Защищенный метод Finalize Позволяет объекту попытаться освободить ресурсы и выполнить другие операции очистки, перед тем как объект будет утилизирован в процессе сборки мусора. (Унаследовано от Object.)
Открытый метод GetHashCode Играет роль хэш-функции для определенного типа. (Унаследовано от Object.)
Защищенный метод GetPolicyItems Возврат элементов политики из заданного выделения.
Открытый метод GetSurrogateItems Возврат необязательного набора элементов замещения для этого элемента. (Унаследовано от ItemPolicy.)
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Защищенный метод IsInPolicy Получает значение, определяющее необходимость включения заданного элемента в политику.
Защищенный метод MemberwiseClone Создает неполную копию текущего объекта Object. (Унаследовано от Object.)
Защищенный метод OnActivated Вызывается при активации данной политики. (Переопределяет ItemPolicy.OnActivated().)
Защищенный метод OnDeactivated Вызывается при деактивации данной политики. (Переопределяет ItemPolicy.OnDeactivated().)
Защищенный метод OnPolicyItemsChanged Вызов события PolicyItemsChanged. (Унаследовано от ItemPolicy.)
Открытый метод ToString Возвращение строки, представляющей текущий объект. (Унаследовано от Object.)

В начало страницы

События

  Имя Описание
Открытое событие PolicyItemsChanged Происходит при изменении политики. (Унаследовано от ItemPolicy.)

В начало страницы

Заметки

Для фильтрации выделения выполните наследование от этой политики и переопределите методы IsInPolicy и GetPolicyItems.

Примеры

В следующем примере кода показано, как реализовать пользовательскую политику замещения для первичного объекта выделения. Полный листинг кода см. в разделе Практическое руководство. Создание политики замещения.

' The DockPanelPolicy class implements a surrogate policy that
' provides container semantics for a selected item. By using 
' this policy, the DemoDockPanel container control offers 
' additional tasks and adorners on its children. 
Class DockPanelPolicy
    Inherits PrimarySelectionPolicy

    Public Overrides ReadOnly Property IsSurrogate() As Boolean 
        Get
            Return True
        End Get
    End Property

    Public Overrides Function GetSurrogateItems( _
        ByVal item As Microsoft.Windows.Design.Model.ModelItem) _
        As System.Collections.Generic.IEnumerable( _
        Of Microsoft.Windows.Design.Model.ModelItem)

        Dim parent As ModelItem = item.Parent

        Dim e As New System.Collections.Generic.List(Of ModelItem)

        If (parent IsNot Nothing) Then

            e.Add(parent)

        End If

        Return e

    End Function

End Class
// The DockPanelPolicy class implements a surrogate policy that
// provides container semantics for a selected item. By using 
// this policy, the DemoDockPanel container control offers 
// additional tasks and adorners on its children. 
class DockPanelPolicy : PrimarySelectionPolicy 
{
    public override bool IsSurrogate 
    {
        get 
        { 
            return true;
        }
    }

    public override IEnumerable<ModelItem> GetSurrogateItems(ModelItem item) 
    {
        ModelItem parent = item.Parent;

        if (parent != null)
        {
            yield return parent;
        }
    }
}

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

Microsoft.Windows.Design.Policies - пространство имен

ItemPolicy

FeatureProvider

FeatureConnector<TFeatureProviderType>

Другие ресурсы

Поставщики функций и соединительные элементы

Общее представление о расширяемости конструктора WPF