共用方式為


SelectionPolicy 類別

原則,會讓選取範圍中的所有項目都可以使用。

繼承階層架構

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

命名空間:  Microsoft.Windows.Design.Policies
組件:  Microsoft.Windows.Design.Interaction (在 Microsoft.Windows.Design.Interaction.dll 中)

語法

'宣告
<RequiresContextItemAttribute(GetType(Selection))> _
<RequiresContextItemAttribute(GetType(Tool))> _
Public Class SelectionPolicy _
    Inherits ItemPolicy
[RequiresContextItemAttribute(typeof(Selection))]
[RequiresContextItemAttribute(typeof(Tool))]
public class SelectionPolicy : ItemPolicy
[RequiresContextItemAttribute(typeof(Selection))]
[RequiresContextItemAttribute(typeof(Tool))]
public ref class SelectionPolicy : public ItemPolicy
[<RequiresContextItemAttribute(typeof(Selection))>]
[<RequiresContextItemAttribute(typeof(Tool))>]
type SelectionPolicy =  
    class
        inherit ItemPolicy
    end
public class SelectionPolicy extends ItemPolicy

SelectionPolicy 型別會公開下列成員。

建構函式

  名稱 說明
公用方法 SelectionPolicy 初始化 SelectionPolicy 類別的新執行個體。

回頁首

屬性

  名稱 說明
受保護的屬性 Context 會取得設計工具的編輯內容。 (繼承自 ItemPolicy)。
公用屬性 IsSurrogate 取得值,這個值表示原則是否為代理原則。 (繼承自 ItemPolicy)。
公用屬性 PolicyItems 會取得受這個原則影響之項目的列舉。 (覆寫 ItemPolicy.PolicyItems。)

回頁首

方法

  名稱 說明
公用方法 Equals 判斷指定的 Object 和目前的 Object 是否相等。 (繼承自 Object)。
受保護的方法 Finalize 允許物件在記憶體回收進行回收之前,嘗試釋放資源並執行其他清除作業。 (繼承自 Object)。
公用方法 GetHashCode 做為特定型別的雜湊函式。 (繼承自 Object)。
受保護的方法 GetPolicyItems 傳回指定之選取範圍中的原則項目。
公用方法 GetSurrogateItems 會傳回這個項目的選擇性代理項目。 (繼承自 ItemPolicy)。
公用方法 GetType 取得目前執行個體的 Type。 (繼承自 Object)。
受保護的方法 IsInPolicy 取得值,這個值表示是否要將指定的項目包含在原則中。
受保護的方法 MemberwiseClone 建立目前 Object 的淺層複本 (Shallow Copy)。 (繼承自 Object)。
受保護的方法 OnActivated 會在啟動這個原則時呼叫。 (覆寫 ItemPolicy.OnActivated()。)
受保護的方法 OnDeactivated 會在停用這個原則時呼叫。 (覆寫 ItemPolicy.OnDeactivated()。)
受保護的方法 OnPolicyItemsChanged 引發 PolicyItemsChanged 事件。 (繼承自 ItemPolicy)。
公用方法 ToString 傳回表示目前物件的字串。 (繼承自 Object)。

回頁首

事件

  名稱 說明
公用事件 PolicyItemsChanged 會在原則變更時發生。 (繼承自 ItemPolicy)。

回頁首

備註

您可以衍生自這個原則並覆寫 IsInPolicyGetPolicyItems 方法,視需要篩選選取範圍。

範例

下列程式碼範例示範如何實作主要選取的自訂代理原則。 如需完整的程式碼清單,請參閱 HOW TO:建立 Surrogate 原則

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

執行緒安全

這個型別的任何 Public static (在 Visual Basic 中為 Shared) 成員都具備執行緒安全。並非所有的執行個體成員都是安全執行緒。

請參閱

參考

Microsoft.Windows.Design.Policies 命名空間

ItemPolicy

FeatureProvider

FeatureConnector<TFeatureProviderType>

其他資源

功能提供者和功能連接器

了解 WPF 設計工具擴充性