Classe ItemPolicy

Criteri che specificano un insieme di regole nella finestra di progettazione.

Gerarchia di ereditarietà

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

Spazio dei nomi:  Microsoft.Windows.Design.Policies
Assembly:  Microsoft.Windows.Design.Interaction (in Microsoft.Windows.Design.Interaction.dll)

Sintassi

'Dichiarazione
Public MustInherit Class ItemPolicy
public abstract class ItemPolicy
public ref class ItemPolicy abstract
[<AbstractClass>]
type ItemPolicy =  class end
public abstract class ItemPolicy

Il tipo ItemPolicy espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo protetto ItemPolicy Inizializza una nuova istanza della classe ItemPolicy.

In alto

Proprietà

  Nome Descrizione
Proprietà protetta. Context Ottiene il contesto di modifica per la finestra di progettazione.
Proprietà pubblica IsSurrogate Ottiene un valore che indica se i criteri sono criteri sostitutivi.
Proprietà pubblica PolicyItems Ottiene un'enumerazione di tutti gli elementi nei criteri.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals Determina se l'oggetto Object specificato è uguale all'oggetto Object corrente. (Ereditato da Object)
Metodo protetto Finalize Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object)
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetSurrogateItems Restituisce un set facoltativo di elementi sostitutivi per questo elemento.
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo protetto OnActivated Viene chiamato quando vengono attivati criteri.
Metodo protetto OnDeactivated Viene chiamato quando i criteri vengono disattivati.
Metodo protetto OnPolicyItemsChanged Genera l'evento PolicyItemsChanged.
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Eventi

  Nome Descrizione
Evento pubblico PolicyItemsChanged Si verifica quando i criteri vengono modificati.

In alto

Note

Derivare dalla classe astratta ItemPolicy per fornire un'associazione tra un insieme di elementi e i corrispondenti provider di funzionalità.

Utilizzare i criteri per individuare le funzionalità di estensibilità sugli elementi eseguiti nella finestra di progettazione. I criteri vengono utilizzati da strumenti, strumenti decorativi e altre aree estensibili della finestra di progettazione. La classe SelectionPolicy è un esempio di criteri che controllano le modifiche della selezione e generano l'evento PolicyItemsChanged quando la selezione viene modificata. La finestra di progettazione gestisce gli eventi di modifica per tutti i criteri in esecuzione ed effettua l'azione appropriata. Nel caso di SelectionPolicy, la finestra di progettazione esegue una query per il set di attività attive che devono essere disponibili e il set di strumenti decorativi che devono essere visibili nell'area di progettazione.

Viene attivata una singola istanza di un tipo di criteri quando la finestra di progettazione la individua nei metadati. I criteri durano per la durata della finestra di progettazione e non vengono mai disattivati a meno che non venga eliminata la finestra di progettazione stessa. Se si dispone di criteri che contengono un riferimento a risorse globali del processo, implementare il metodo OnDeactivated, che viene chiamato quando termina il gestore dei criteri.

Un criterio sostitutivo offre un set alternativo di elementi utilizzati per trovare provider di funzionalità. I criteri sostitutivi vengono utilizzati il più delle volte da contenitori di controlli che offrono attività e strumenti decorativi aggiuntivi negli elementi figlio. In questo scenario il contenitore offre criteri sostitutivi in cui il metodo GetSurrogateItems restituisce il padre dell'elemento specificato.

Esempi

Nell'esempio di codice seguente viene illustrato come implementare criteri sostitutivi personalizzati per la selezione primaria. Per un elenco completo di codice, vedere Procedura: creare un criterio sostitutivo.

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

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.Windows.Design.Policies

PrimarySelectionPolicy

SelectionPolicy

FeatureProvider

FeatureConnectorAttribute

Altre risorse

Provider di funzionalità e connettori di funzionalità

Informazioni sull'estensibilità Progettazione WPF