Share via


PrimarySelectionPolicy.GetPolicyItems Method

Returns the policy item that represents the primary selection.

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

Syntax

'Declaration
Protected Overrides Function GetPolicyItems ( _
    selection As Selection _
) As IEnumerable(Of ModelItem)
protected override IEnumerable<ModelItem> GetPolicyItems(
    Selection selection
)
protected:
virtual IEnumerable<ModelItem^>^ GetPolicyItems(
    Selection^ selection
) override
abstract GetPolicyItems : 
        selection:Selection -> IEnumerable<ModelItem> 
override GetPolicyItems : 
        selection:Selection -> IEnumerable<ModelItem> 
protected override function GetPolicyItems(
    selection : Selection
) : IEnumerable<ModelItem>

Parameters

Return Value

Type: System.Collections.Generic.IEnumerable<ModelItem>
Either a single element that is the primary selection, or an empty enumeration.

Examples

The following code example shows how to create a custom surrogate policy by implementing the IsSurrogate property and the GetSurrogateItems method. For a full code listing, see How to: Create a Surrogate Policy.

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

.NET Framework Security

See Also

Reference

PrimarySelectionPolicy Class

Microsoft.Windows.Design.Policies Namespace

ItemPolicy

SelectionPolicy

FeatureProvider

FeatureConnectorAttribute

Other Resources

Feature Providers and Feature Connectors

Understanding WPF Designer Extensibility