FeatureProvider 클래스
기능에 클래스별 구성 정보를 추가합니다.
상속 계층 구조
System.Object
Microsoft.Windows.Design.Features.FeatureProvider
Microsoft.Windows.Design.Interaction.Adapter
Microsoft.Windows.Design.Interaction.AdornerProvider
Microsoft.Windows.Design.Interaction.ContextMenuProvider
Microsoft.Windows.Design.Interaction.TaskProvider
Microsoft.Windows.Design.Model.DefaultInitializer
Microsoft.Windows.Design.Model.DesignModeValueProvider
네임스페이스: Microsoft.Windows.Design.Features
어셈블리: Microsoft.Windows.Design.Extensibility(Microsoft.Windows.Design.Extensibility.dll)
구문
‘선언
Public MustInherit Class FeatureProvider
public abstract class FeatureProvider
public ref class FeatureProvider abstract
[<AbstractClass>]
type FeatureProvider = class end
public abstract class FeatureProvider
FeatureProvider 형식에서는 다음과 같은 멤버를 노출합니다.
생성자
이름 | 설명 | |
---|---|---|
FeatureProvider | FeatureProvider 클래스의 새 인스턴스를 초기화합니다. |
위쪽
메서드
이름 | 설명 | |
---|---|---|
Equals | 지정한 Object가 현재 Object와 같은지 여부를 확인합니다. (Object에서 상속됨) | |
Finalize | 가비지 수집에서 회수하기 전에 개체에서 리소스를 해제하고 다른 정리 작업을 수행할 수 있게 합니다. (Object에서 상속됨) | |
GetHashCode | 특정 형식에 대한 해시 함수 역할을 합니다. (Object에서 상속됨) | |
GetType | 현재 인스턴스의 Type을 가져옵니다. (Object에서 상속됨) | |
MemberwiseClone | 현재 Object의 단순 복사본을 만듭니다. (Object에서 상속됨) | |
ToString | 현재 개체를 나타내는 문자열을 반환합니다. (Object에서 상속됨) |
위쪽
설명
추상 FeatureProvider 클래스에서 파생하여 사용자 지정 컨트롤의 디자인 타임을 확장할 수 있습니다.
기능 공급자는 기능 커넥터로 관리되며 FeatureAttribute 메타데이터 특성을 통해 개체에 연결됩니다. 기능 커넥터는 이 메타데이터에서 FeatureProvider 형식을 검색합니다. FeatureManager는 검색된 각 기능 공급자에 필요한 기능 커넥터를 식별합니다.
공용 기능 공급자 구현에는 선택 표시기(Adorner), 상황에 맞는 메뉴 및 속성 편집기가 포함됩니다.
디자인 화면의 기본 선택 내용에 기능 공급자를 연결하려면 PrimarySelectionPolicy가 적용된 PrimarySelectionAdornerProvider 등의 기능 공급자 중 하나에서 파생합니다.
PrimarySelectionContextMenuProvider.
예제
다음 코드 예제에서는 FeatureProvider 클래스에서 파생하여 DiagnosticsMenuProvider라는 사용자 지정 기능 공급자와 IDiagnosticsService라는 사용자 지정 서비스를 구현하는 방법을 보여 줍니다. 전체 코드는 방법: 사용자 지정 기능 커넥터 만들기를 참조하십시오.
' The DiagnosticsMenuProvider class adds a context menu item
' that displays a dialog box listing the currently running and
' pending feature connectors.
<FeatureConnector(GetType(DiagnosticsFeatureConnector))> _
Public Class DiagnosticsMenuProvider
Inherits PrimarySelectionContextMenuProvider
Public Sub New()
Dim action As New MenuAction("Feature Diagnostics...")
AddHandler action.Execute, AddressOf action_Execute
Items.Add(action)
End Sub
Sub action_Execute(ByVal sender As Object, ByVal e As MenuActionEventArgs)
Dim service As IDiagnosticsService = e.Context.Services.GetRequiredService(Of IDiagnosticsService)()
service.ShowWindow()
End Sub
End Class
// The DiagnosticsMenuProvider class adds a context menu item
// that displays a dialog box listing the currently running and
// pending feature connectors.
[FeatureConnector(typeof(DiagnosticsFeatureConnector))]
public class DiagnosticsMenuProvider : PrimarySelectionContextMenuProvider
{
public DiagnosticsMenuProvider()
{
MenuAction action = new MenuAction("Feature Diagnostics...");
action.Execute += new EventHandler<MenuActionEventArgs>(action_Execute);
Items.Add(action);
}
void action_Execute(object sender, MenuActionEventArgs e)
{
IDiagnosticsService service =
e.Context.Services.GetRequiredService<IDiagnosticsService>();
service.ShowWindow();
}
}
스레드로부터의 안전성
이 형식의 모든 공용 static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.
참고 항목
참조
Microsoft.Windows.Design.Features 네임스페이스
FeatureConnector<TFeatureProviderType>
PrimarySelectionAdornerProvider
PrimarySelectionContextMenuProvider