Jak: dodać niestandardowe węzeł SharePoint Server Explorer
Można dodać niestandardowe węzły pod Połączeń SharePoint węzeł w Server Explorer.Jest to przydatne, gdy chcesz wyświetlić dodatkowe składniki programu SharePoint, które nie są wyświetlane w Server Explorer domyślnie.Aby uzyskać więcej informacji, zobacz Rozszerzanie węzła połączenia programu SharePoint w programie Server Explorer.
Aby dodać węzeł niestandardowe, należy najpierw utworzyć klasa, która definiuje nowy węzeł.Następnie utwórz rozszerzenie dodaje węzeł jako element podrzędny węzeł istniejących.
Aby zdefiniować nowy węzeł.
Utwórz projekt biblioteki klas.
Dodaj odwołania do następujących zestawów:
Microsoft.VisualStudio.SharePoint
Microsoft.VisualStudio.SharePoint.Explorer.Extensions
System.ComponentModel.Composition
System.Drawing
Tworzenie klasy implementującej IExplorerNodeTypeProvider interfejsu.
Do tej klasy należy dodać następujące atrybuty:
System.ComponentModel.Composition.ExportAttribute.Atrybut ten umożliwia wykrywanie i załadować do programu Visual Studio na IExplorerNodeTypeProvider wdrożenia.Przekazać IExplorerNodeTypeProvider typu Konstruktor atrybutu.
ExplorerNodeTypeAttribute.W definicji węzła ten atrybut określa identyfikator ciągu dla nowego węzła.Firma Microsoft zaleca, aby użyć formatu Nazwa firmy. Nazwa węzła , aby upewnić się, że wszystkie węzły mają identyfikator unikatowy.
W implementacji IExplorerNodeTypeProvider.InitializeType metodę, użyj członków typeDefinition parametr, aby skonfigurować zachowanie nowy węzeł.Ten parametr jest IExplorerNodeTypeDefinition obiekt, który zapewnia dostęp do zdarzenia zdefiniowane w IExplorerNodeEvents interfejsu.
Poniższy przykład kodu pokazuje jak zdefiniować nowy węzeł.W przykładzie założono, że projekt jest wyświetlana ikona, o nazwie CustomChildNodeIcon jako zasobu osadzonego.
<Export(GetType(IExplorerNodeTypeProvider))> _ <ExplorerNodeType(ExampleNodeTypeProvider.NodeTypeId)> _ Friend Class ExampleNodeTypeProvider Implements IExplorerNodeTypeProvider Friend Const NodeTypeId As String = "Contoso.ServerExplorerNodeExample" Private Sub InitializeType(ByVal typeDefinition As IExplorerNodeTypeDefinition) _ Implements IExplorerNodeTypeProvider.InitializeType typeDefinition.DefaultIcon = _ My.Resources.CustomChildNodeIcon.ToBitmap() typeDefinition.IsAlwaysLeaf = True End Sub End Class
[Export(typeof(IExplorerNodeTypeProvider))] [ExplorerNodeType(ExampleNodeTypeProvider.NodeTypeId)] internal class ExampleNodeTypeProvider : IExplorerNodeTypeProvider { internal const string NodeTypeId = "Contoso.ServerExplorerNodeExample"; public void InitializeType(IExplorerNodeTypeDefinition typeDefinition) { typeDefinition.DefaultIcon = Properties.Resources.CustomChildNodeIcon.ToBitmap(); typeDefinition.IsAlwaysLeaf = true; } }
Aby dodać nowy węzeł jako element podrzędny węzeł istniejących
W tym samym projekcie w Państwa definicji węzła, należy utworzyć klasy, która implementuje IExplorerNodeTypeExtension interfejsu.
Dodaj System.ComponentModel.Composition.ExportAttribute atrybutu do klasy.Atrybut ten umożliwia wykrywanie i załadować do programu Visual Studio na IExplorerNodeTypeExtension wdrożenia.Przekazać IExplorerNodeTypeExtension typu Konstruktor atrybutu.
Dodaj ExplorerNodeTypeAttribute atrybutu do klasy.W rozszerzeniu węzła ten atrybut określa identyfikator ciągu dla typu węzeł, który chcesz rozszerzyć.
Aby określić typy węzłów wbudowane, dostarczonym przez Visual Studio, przekazać jedną z następujących wartości wyliczenia Konstruktor atrybutu:
ExplorerNodeTypes: Użyj tych wartości, aby określić węzły połączenia witryny (węzłów, które są wyświetlane adresy URL witryny), witryny, węzły lub innych węzłów nadrzędnych w Server Explorer.
ExtensionNodeTypes: Użyj tych wartości, aby określić jeden z wbudowanych węzłów, które reprezentują poszczególnych składników w witrynie programu SharePoint, takich jak węzeł, który reprezentuje listy, pola lub typu zawartości.
W implementacji Initialize metody, uchwyt NodeChildrenRequested zdarzenia IExplorerNodeType parametru.
W NodeChildrenRequested obsługi zdarzeń, dodawanie nowego węzła do kolekcji węzły podrzędne Node obiektu, ujawnianą przez parametr argumenty zdarzeń.
Poniższy przykład kodu demonstruje, jak dodać nowy węzeł jako element podrzędny węzeł witryny programu SharePoint w Server Explorer.
<Export(GetType(IExplorerNodeTypeExtension))> _ <ExplorerNodeType(ExplorerNodeTypes.SiteNode)> _ Friend Class SiteNodeExtension Implements IExplorerNodeTypeExtension Private Sub Initialize(ByVal nodeType As IExplorerNodeType) _ Implements IExplorerNodeTypeExtension.Initialize AddHandler nodeType.NodeChildrenRequested, AddressOf NodeChildrenRequested End Sub Private Sub NodeChildrenRequested(ByVal Sender As Object, ByVal e As ExplorerNodeEventArgs) e.Node.ChildNodes.Add(ExampleNodeTypeProvider.NodeTypeId, _ "Custom Node", Nothing) End Sub End Class
[Export(typeof(IExplorerNodeTypeExtension))] [ExplorerNodeType(ExplorerNodeTypes.SiteNode)] internal class SiteNodeExtension : IExplorerNodeTypeExtension { public void Initialize(IExplorerNodeType nodeType) { nodeType.NodeChildrenRequested += NodeChildrenRequested; } private void NodeChildrenRequested(object sender, ExplorerNodeEventArgs e) { e.Node.ChildNodes.Add(ExampleNodeTypeProvider.NodeTypeId, "Custom Node", null); } }
Kompletny przykład
Poniższy przykład kodu zawiera kompletny kod, aby zdefiniować węzła prostego i dodać go jako element podrzędny węzeł witryny programu SharePoint, w Server Explorer.
Imports System.ComponentModel.Composition
Imports Microsoft.VisualStudio.SharePoint
Imports Microsoft.VisualStudio.SharePoint.Explorer
Namespace Contoso.ServerExplorerExtension
<Export(GetType(IExplorerNodeTypeProvider))> _
<ExplorerNodeType(ExampleNodeTypeProvider.NodeTypeId)> _
Friend Class ExampleNodeTypeProvider
Implements IExplorerNodeTypeProvider
Friend Const NodeTypeId As String = "Contoso.ServerExplorerNodeExample"
Private Sub InitializeType(ByVal typeDefinition As IExplorerNodeTypeDefinition) _
Implements IExplorerNodeTypeProvider.InitializeType
typeDefinition.DefaultIcon = _
My.Resources.CustomChildNodeIcon.ToBitmap()
typeDefinition.IsAlwaysLeaf = True
End Sub
End Class
<Export(GetType(IExplorerNodeTypeExtension))> _
<ExplorerNodeType(ExplorerNodeTypes.SiteNode)> _
Friend Class SiteNodeExtension
Implements IExplorerNodeTypeExtension
Private Sub Initialize(ByVal nodeType As IExplorerNodeType) _
Implements IExplorerNodeTypeExtension.Initialize
AddHandler nodeType.NodeChildrenRequested, AddressOf NodeChildrenRequested
End Sub
Private Sub NodeChildrenRequested(ByVal Sender As Object, ByVal e As ExplorerNodeEventArgs)
e.Node.ChildNodes.Add(ExampleNodeTypeProvider.NodeTypeId, _
"Custom Node", Nothing)
End Sub
End Class
End Namespace
using System.ComponentModel.Composition;
using Microsoft.VisualStudio.SharePoint;
using Microsoft.VisualStudio.SharePoint.Explorer;
namespace Contoso.ServerExplorerExtension
{
[Export(typeof(IExplorerNodeTypeProvider))]
[ExplorerNodeType(ExampleNodeTypeProvider.NodeTypeId)]
internal class ExampleNodeTypeProvider : IExplorerNodeTypeProvider
{
internal const string NodeTypeId = "Contoso.ServerExplorerNodeExample";
public void InitializeType(IExplorerNodeTypeDefinition typeDefinition)
{
typeDefinition.DefaultIcon =
Properties.Resources.CustomChildNodeIcon.ToBitmap();
typeDefinition.IsAlwaysLeaf = true;
}
}
[Export(typeof(IExplorerNodeTypeExtension))]
[ExplorerNodeType(ExplorerNodeTypes.SiteNode)]
internal class SiteNodeExtension : IExplorerNodeTypeExtension
{
public void Initialize(IExplorerNodeType nodeType)
{
nodeType.NodeChildrenRequested += NodeChildrenRequested;
}
private void NodeChildrenRequested(object sender, ExplorerNodeEventArgs e)
{
e.Node.ChildNodes.Add(ExampleNodeTypeProvider.NodeTypeId,
"Custom Node", null);
}
}
}
Kompilowanie kodu
W przykładzie założono, że projekt jest wyświetlana ikona, o nazwie CustomChildNodeIcon jako zasobu osadzonego.W tym przykładzie wymaga również odwołania do następujących zestawów:
Microsoft.VisualStudio.SharePoint
System.ComponentModel.Composition
System.Drawing
Wdrażanie rozszerzenia
Aby wdrożyć Server Explorer rozszerzenia, tworzenie Visual Studio extension (VSIX) pakiet Zgromadzenia i inne pliki, które chcesz dystrybuować z rozszerzeniem.Aby uzyskać więcej informacji, zobacz Wdrażanie rozszerzeń dla narzędzia programu SharePoint w programie Visual Studio.
Zobacz też
Zadania
Instruktaż: Rozszerzanie Server Explorer do wyświetlania składników Web Part
Koncepcje
Jak: rozszerzenie węzła programu SharePoint w programie Server Explorer
Inne zasoby
Rozszerzanie węzła połączenia programu SharePoint w programie Server Explorer