Поделиться через


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>

Параметры

Возвращаемое значение

Тип: System.Collections.Generic.IEnumerable<ModelItem>
Перечисление элементов замещения, которые следует проверить.По умолчанию возвращается пустое перечисление.

Заметки

Элементы замещения предоставляют дополнительные функции для заданного элемента. Элементы замещения не входят в состав элементов, предоставляемых потребителям политики. Если необходимо предоставить функции родительского объекта дочернему, следует вернуть элементы замещения. Для возврата элементов замещения переопределите свойство IsSurrogate таким образом, чтобы в нем возвращалось значение true.

Примечание

Не возвращайте значение nullпустая ссылка (Nothing в Visual Basic) в собственной реализации метода GetSurrogateItems.

Примеры

В следующем примере показано, как создать пользовательскую политику замещения посредством реализации свойства IsSurrogate и метода GetSurrogateItems. Полный листинг кода см. в разделе Практическое руководство. Создание политики замещения.

' 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

См. также

Ссылки

ItemPolicy Класс

Microsoft.Windows.Design.Policies - пространство имен

PrimarySelectionPolicy

SelectionPolicy

FeatureProvider

FeatureConnectorAttribute

Другие ресурсы

Поставщики функций и соединительные элементы

Общее представление о расширяемости конструктора WPF