PrimarySelectionPolicy Class
A policy that specifies the primarily selected element.
Inheritance Hierarchy
System.Object
Microsoft.Windows.Design.Policies.ItemPolicy
Microsoft.Windows.Design.Policies.SelectionPolicy
Microsoft.Windows.Design.Policies.PrimarySelectionPolicy
Namespace: Microsoft.Windows.Design.Policies
Assembly: Microsoft.Windows.Design.Interaction (in Microsoft.Windows.Design.Interaction.dll)
Syntax
'Declaration
Public Class PrimarySelectionPolicy _
Inherits SelectionPolicy
public class PrimarySelectionPolicy : SelectionPolicy
public ref class PrimarySelectionPolicy : public SelectionPolicy
type PrimarySelectionPolicy =
class
inherit SelectionPolicy
end
public class PrimarySelectionPolicy extends SelectionPolicy
The PrimarySelectionPolicy type exposes the following members.
Constructors
Name | Description | |
---|---|---|
PrimarySelectionPolicy | Initializes a new instance of the PrimarySelectionPolicy class. |
Top
Properties
Name | Description | |
---|---|---|
Context | Gets the editing context for the designer. (Inherited from ItemPolicy.) | |
IsSurrogate | Gets a value indicating whether the policy is a surrogate policy. (Inherited from ItemPolicy.) | |
PolicyItems | Gets an enumeration of items that are affected by this policy. (Inherited from SelectionPolicy.) |
Top
Methods
Name | Description | |
---|---|---|
Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
Finalize | Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.) | |
GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) | |
GetPolicyItems | Returns the policy item that represents the primary selection. (Overrides SelectionPolicy.GetPolicyItems(Selection).) | |
GetSurrogateItems | Returns an optional set of surrogate items for this item. (Inherited from ItemPolicy.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
IsInPolicy | Gets a value indicating whether the specified item is to be included in the policy. (Inherited from SelectionPolicy.) | |
MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) | |
OnActivated | Called when this policy is activated. (Inherited from SelectionPolicy.) | |
OnDeactivated | Called when this policy is deactivated. (Inherited from SelectionPolicy.) | |
OnPolicyItemsChanged | Raises the PolicyItemsChanged event. (Inherited from ItemPolicy.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Top
Events
Name | Description | |
---|---|---|
PolicyItemsChanged | Occurs when the policy changes. (Inherited from ItemPolicy.) |
Top
Remarks
The PrimarySelectionPolicy class is an ItemPolicy that is enabled for the primarily selected element when SelectionTool is the active tool.
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;
}
}
}
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