Compartilhar via


Classe ItemPolicy

Uma diretiva que especifica um conjunto de regras no designer.

Hierarquia de herança

System.Object
  Microsoft.Windows.Design.Policies.ItemPolicy
    Microsoft.Windows.Design.Policies.SelectionPolicy

Namespace:  Microsoft.Windows.Design.Policies
Assembly:  Microsoft.Windows.Design.Interaction (em Microsoft.Windows.Design.Interaction.dll)

Sintaxe

'Declaração
Public MustInherit Class ItemPolicy
public abstract class ItemPolicy
public ref class ItemPolicy abstract
[<AbstractClass>]
type ItemPolicy =  class end
public abstract class ItemPolicy

O tipo ItemPolicy expõe os membros a seguir.

Construtores

  Nome Descrição
Método protegido ItemPolicy Initializes a new instance of the ItemPolicy class.

Início

Propriedades

  Nome Descrição
Propriedade protegida Context Obtém o contexto de edição para o designer.
Propriedade pública IsSurrogate Obtém um valor indicando se a diretiva é um substituto.
Propriedade pública PolicyItems Obtém uma enumeração de todos os itens na diretiva.

Início

Métodos

  Nome Descrição
Método público Equals Determina se o especificado Object é igual a atual Object. (Herdado de Object.)
Método protegido Finalize Permite que um objeto tentar liberar recursos e executar outras operações de limpeza antes que ele é recuperado pela coleta de lixo. (Herdado de Object.)
Método público GetHashCode Serves as a hash function for a particular type. (Herdado de Object.)
Método público GetSurrogateItems Retorna um conjunto opcional de itens de substitutos para este item.
Método público GetType Obtém o Type da instância atual. (Herdado de Object.)
Método protegido MemberwiseClone Cria uma cópia superficial do atual Object. (Herdado de Object.)
Método protegido OnActivated Chamado quando uma diretiva é ativada.
Método protegido OnDeactivated Chamado quando a diretiva é desativada.
Método protegido OnPolicyItemsChanged Raises the PolicyItemsChanged event.
Método público ToString Retorna um string que representa o objeto atual. (Herdado de Object.)

Início

Eventos

  Nome Descrição
Evento público PolicyItemsChanged Ocorre quando a diretiva é alterado.

Início

Comentários

Derivar abstrata ItemPolicy classe para fornecer uma associação entre um conjunto de itens e provedores de recurso correspondente.

Use diretivas para descobrir os recursos de extensibilidade em itens que estão executando no designer. As diretivas são usadas por ferramentas, adornos e outras áreas do designer são extensíveis. O SelectionPolicy classe é um exemplo de política que monitora a seleção muda e eleva o PolicyItemsChanged evento quando alterações de seleção. O designer trata os eventos de alteração de todas as diretivas de execução e toma a ação adequada. No caso de SelectionPolicy, as consultas de designer para o conjunto de tarefas ativas que devem estar disponíveis e o conjunto de adornos que devem ser visíveis na superfície de design.

Uma única instância de um tipo de diretiva é ativada quando o designer descobre nos metadados. As diretivas durar a vida do designer e nunca são desativadas, a menos que o designer propriamente dito é descartado. Se você tiver uma diretiva que mantém uma referência para recursos globais de processos, implementar a OnDeactivated método, que é chamado quando o policy manager é encerrado.

A a política de substitutos oferece um conjunto alternativo de itens que são usados para localizar provedores de recurso. Políticas de substitutos são mais frequentemente usadas por recipientes de controle que oferecem tarefas adicionais e adorners em seus filhos. Nesse cenário, o recipiente oferece uma política de substitutos na qual o GetSurrogateItems método retorna o pai do item fornecido.

Exemplos

O exemplo de código a seguir mostra como implementar uma diretiva do substituto personalizado para a seleção principal. Para obter uma listagem de código completo, consulte Como: criar uma diretiva substituto.

' 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;
        }
    }
}

Acesso thread-safe

Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.

Consulte também

Referência

Namespace Microsoft.Windows.Design.Policies

PrimarySelectionPolicy

SelectionPolicy

FeatureProvider

FeatureConnectorAttribute

Outros recursos

Recurso provedores e conectores de recursos

Noções básicas sobre extensibilidade Designer WPF