Condividi tramite


Classe FeatureManager

Aggiornamento: novembre 2007

Gestisce i provider di funzionalità e i connettori di funzionalità.

Spazio dei nomi:  Microsoft.Windows.Design.Features
Assembly:  Microsoft.Windows.Design.Extensibility (in Microsoft.Windows.Design.Extensibility.dll)

Sintassi

Public Class FeatureManager _
    Implements IDisposable

Dim instance As FeatureManager
public class FeatureManager : IDisposable
public ref class FeatureManager : IDisposable
public class FeatureManager implements IDisposable

Note

Utilizzare la classe FeatureManager per creare provider di funzionalità ed eseguire query per i connettori di funzionalità in esecuzione e in sospeso.

Se è necessario creare un'istanza di un connettore di funzionalità che tuttavia ha sottoscritto servizi o elementi di contesto che non esistono ancora, il tipo di connettore viene inserito in un elenco di elementi in sospeso e le sottoscrizioni vengono aggiunte al contesto di modifica. Quando i servizi e gli elementi corretti diventano disponibili, viene creata un'istanza del connettore di funzionalità.

Quando un oggetto viene aggiunto a un modello di modifica, il modello di modifica deve chiamare il metodo InitializeFeatures sul gestore di funzionalità, che controlla l'oggetto per individuare attributi di funzionalità. Inserisce questi attributi dopo gli attributi FeatureConnector<TFeatureProviderType> e verifica che sia stata creata un'istanza di tutti i connettori univoci.

Esempi

Nell'esempio di codice seguente viene illustrato come utilizzare la classe FeatureManager per accedere ai connettori in esecuzione e in sospeso. Per l'elenco di codice completo, vedere Procedura: creare un connettore di funzionalità personalizzato.

Public Sub Initialize(ByVal manager As FeatureManager)
    featManager = manager
    Bind()
End Sub


...


' Binds the activatedFeatures and pendingFeatures controls
' the FeatureManager's RunningConnectors and PendingConnectors\
' properties.
Private Sub Bind()
    activatedFeatures.Items.Clear()
    pendingFeatures.Items.Clear()

    Dim info As FeatureConnectorInformation
    For Each info In featManager.RunningConnectors
        activatedFeatures.Items.Add(info)
    Next info

    For Each info In featManager.PendingConnectors
        pendingFeatures.Items.Add(info)
    Next info

End Sub
public void Initialize(FeatureManager manager) 
{
    featManager = manager;
    Bind();
}


...


// Binds the activatedFeatures and pendingFeatures controls
// the FeatureManager's RunningConnectors and PendingConnectors\
// properties.
private void Bind() 
{
    activatedFeatures.Items.Clear();
    pendingFeatures.Items.Clear();

    foreach (FeatureConnectorInformation info in 
        featManager.RunningConnectors) 
    {
        activatedFeatures.Items.Add(info);
    }

    foreach (FeatureConnectorInformation info in 
        featManager.PendingConnectors) 
    {
        pendingFeatures.Items.Add(info);
    }
}

Gerarchia di ereditarietà

System.Object
  Microsoft.Windows.Design.Features.FeatureManager

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

Membri FeatureManager

Spazio dei nomi Microsoft.Windows.Design.Features

FeatureProvider

FeatureConnector<TFeatureProviderType>

Altre risorse

Procedura: creare un connettore di funzionalità personalizzato

Provider di funzionalità e connettori di funzionalità

Informazioni sull'estensibilità Progettazione WPF