다음을 통해 공유


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를 반환하게 합니다.

참고

GetSurrogateItems 구현에서 nullNull 참조(Visual Basic의 경우 Nothing)을 반환하지 마십시오.

예제

다음 코드 예제에서는 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 Designer 확장성 이해