Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
A policy that makes all items in the selection available.
Namespace:  Microsoft.Windows.Design.Policies
Assembly:  Microsoft.Windows.Design.Extensibility (in Microsoft.Windows.Design.Extensibility.dll)
Syntax
'Declaration
<RequiresContextItemAttribute(GetType(Selection))> _
<RequiresContextItemAttribute(GetType(Tool))> _
Public Class SelectionPolicy _
    Inherits ItemPolicy
'Usage
Dim instance As SelectionPolicy
[RequiresContextItemAttribute(typeof(Selection))]
[RequiresContextItemAttribute(typeof(Tool))]
public class SelectionPolicy : ItemPolicy
[RequiresContextItemAttribute(typeof(Selection))]
[RequiresContextItemAttribute(typeof(Tool))]
public ref class SelectionPolicy : public ItemPolicy
public class SelectionPolicy extends ItemPolicy
Remarks
Derive from this policy and override the IsInPolicy and GetPolicyItems methods to filter the selection as necessary.
Examples
The following code example shows how to implement a custom surrogate policy for the primary selection. 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;
        }
    }
}
Inheritance Hierarchy
System.Object
  Microsoft.Windows.Design.Policies.ItemPolicy
    Microsoft.Windows.Design.Policies.SelectionPolicy
      Microsoft.Windows.Design.Policies.PrimarySelectionPolicy
      Microsoft.Windows.Design.Policies.SecondarySelectionPolicy
      Microsoft.Windows.Design.Policies.SelectionParentPolicy
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
See Also
Reference
Microsoft.Windows.Design.Policies Namespace
FeatureConnector<TFeatureProviderType>