ItemPolicy.GetSurrogateItems 方法
會傳回這個項目的選擇性代理項目。
命名空間: Microsoft.Windows.Design.Policies
組件: Microsoft.Windows.Design.Interaction (在 Microsoft.Windows.Design.Interaction.dll 中)
語法
'宣告
Public Overridable Function GetSurrogateItems ( _
item As ModelItem _
) As IEnumerable(Of ModelItem)
public virtual IEnumerable<ModelItem> GetSurrogateItems(
ModelItem item
)
public:
virtual IEnumerable<ModelItem^>^ GetSurrogateItems(
ModelItem^ item
)
abstract GetSurrogateItems :
item:ModelItem -> IEnumerable<ModelItem>
override GetSurrogateItems :
item:ModelItem -> IEnumerable<ModelItem>
public function GetSurrogateItems(
item : ModelItem
) : IEnumerable<ModelItem>
參數
- item
型別:Microsoft.Windows.Design.Model.ModelItem
要擷取其代理的項目。
傳回值
型別:System.Collections.Generic.IEnumerable<ModelItem>
要檢查之代理項目的列舉。預設會傳回空的列舉。
備註
代理項目可為指定的項目提供額外功能。 代理不屬於公開至原則之消費者的項目之一部分。 如果您需要父物件來為子物件提供功能,請傳回代理項目。 若要傳回代理項目的集合,請覆寫 IsSurrogate 屬性,讓它傳回 true。
注意事項 |
---|
請勿從您的 GetSurrogateItems 實作傳回 nullNull 參照 (即 Visual Basic 中的 Nothing)。 |
範例
下列程式碼範例示範,如何透過實作 IsSurrogate 屬性和 GetSurrogateItems 方法,以建立自訂代理原則 (Surrogate Policy)。 如需完整的程式碼清單,請參閱 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;
}
}
}
.NET Framework 安全性
- 完全信任立即呼叫者。這個成員無法供部分信任的程式碼使用。如需詳細資訊,請參閱從部分受信任程式碼使用程式庫。
請參閱
參考
Microsoft.Windows.Design.Policies 命名空間