Classe ItemPolicy
Aggiornamento: novembre 2007
Criterio che specifica un insieme di regole nella finestra di progettazione.
Spazio dei nomi: Microsoft.Windows.Design.Policies
Assembly: Microsoft.Windows.Design.Extensibility (in Microsoft.Windows.Design.Extensibility.dll)
Sintassi
Public MustInherit Class ItemPolicy
Dim instance As ItemPolicy
public abstract class ItemPolicy
public ref class ItemPolicy abstract
public abstract class ItemPolicy
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 criterio che controlla le modifiche della selezione e genera 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 criterio 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 un criterio che contiene un riferimento a risorse globali del processo, implementare il metodo OnDeactivated, che viene chiamato quando termina il gestore dei criteri.
Esempi
Nell'esempio di codice seguente viene illustrato come implementare un criterio sostitutivo personalizzato per la selezione primaria. Per l'elenco di codice completo, 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;
}
}
}
Gerarchia di ereditarietà
System.Object
Microsoft.Windows.Design.Policies.ItemPolicy
Microsoft.Windows.Design.Policies.SelectionPolicy
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