다음을 통해 공유


CategoryEditor 클래스

업데이트: 2007년 11월

사용자 지정 범주 편집기를 만들기 위한 추상 클래스입니다.

네임스페이스:  Microsoft.Windows.Design.PropertyEditing
어셈블리:  Microsoft.Windows.Design(Microsoft.Windows.Design.dll)

구문

Public MustInherit Class CategoryEditor

Dim instance As CategoryEditor
public abstract class CategoryEditor
public ref class CategoryEditor abstract
public abstract class CategoryEditor

설명

속성 브라우저 호스트에서 속성 집합에 대한 사용자 지정 CategoryEditor을 제공하기 위해 이 클래스에서 파생합니다. 이 클래스는 텍스트 범주의 속성과 같이 관련된 속성 집합을 편집하는 데 사용할 수 있는 사용자 지정 사용자 인터페이스를 나타냅니다.

TargetCategory 속성은 이 편집기로 편집할 관련된 속성의 범주를 나타냅니다. 예를 들어 다양한 텍스트 관련 속성이 속성 창에서 텍스트 범주에 표시됩니다. 이러한 텍스트 관련 속성을 편집하기 위한 편집기의 경우 TargetCategory 속성은 "Text"를 반환합니다.

EditorTemplate 속성은 이 편집기의 시각적 인터페이스용 XAML 템플릿을 반환합니다. 이 템플릿은 일반적으로 프로젝트의 ResourceDictionary에서 제공합니다.

디자이너에서 CategoryEditor를 사용하려면 먼저 편집기를 등록해야 합니다. 자세한 내용은 IRegisterMetadata를 참조하십시오.

예제

다음 코드 예제에서는 CategoryEditor 클래스를 사용하는 방법을 보여 줍니다. 자세한 내용은 연습: 범주 편집기 만들기를 참조하십시오.

Public Class TextCategoryEditor
    Inherits CategoryEditor

    ' The EditorResources class in this example inherits ResourceDirectory and
    ' contains the template for the category editor. This would be defined in 
    ' an associated XAML file named EditorResources.xaml
    Private res As New EditorResources()
    Public Overrides Function ConsumesProperty(ByVal prop As PropertyEntry) As Boolean
        Return True
    End Function

    Public Overrides ReadOnly Property EditorTemplate() As System.Windows.DataTemplate
        Get
            Return CType(res("TextCategoryEditorTemplate"), DataTemplate)
        End Get
    End Property

    Public Overrides Function GetImage(ByVal desiredSize As System.Windows.Size) As Object
        Return Nothing
    End Function

    Public Overrides ReadOnly Property TargetCategory() As String
        Get
            Return "Text"
        End Get
    End Property
End Class
public class TextCategoryEditor : CategoryEditor
{

    // The EditorResources class in this example inherits ResourceDictionary 
    // and contains template for the category editor. This would be 
    // defined in an associated XAML file named EditorResources.xaml
    private EditorResources res = new EditorResources();
    public TextCategoryEditor()
    {
    }

    public override bool ConsumesProperty(PropertyEntry property)
    {
        return true;
    }

    public override DataTemplate EditorTemplate
    {
        get
        {
            return res["TextCategoryEditorTemplate"] as DataTemplate;
        }
    }

    public override object GetImage(Size desiredSize)
    {
        return null;
    }

    public override string TargetCategory
    {
        get { return "Text"; }
    }
}

상속 계층 구조

System.Object
  Microsoft.Windows.Design.PropertyEditing.CategoryEditor

스레드로부터의 안전성

이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

참고 항목

참조

CategoryEditor 멤버

Microsoft.Windows.Design.PropertyEditing 네임스페이스

기타 리소스

속성 편집 아키텍처

WPF Designer 확장성