Postupy: Přidat vlastní uzel SharePoint Server Explorer
Můžete přidat vlastní uzly pod SharePoint připojení uzel v Server Explorer. To je užitečné, pokud chcete zobrazit další součásti služby SharePoint, které jsou zobrazeny v Server Explorer ve výchozím nastavení. Další informace naleznete v tématu Rozšíření uzlu připojení služby SharePoint v aplikaci Server Explorer.
Chcete-li přidat vlastní uzel nejprve vytvořte třídy, která definuje nový uzel. Vytvořte příponu, která přidá uzel jako podřízený existující uzel.
Definovat nový uzel
Vytvořte projekt knihovny tříd.
Přidejte odkazy do následujících sestavení:
Microsoft.VisualStudio.SharePoint
Microsoft.VisualStudio.SharePoint.Explorer.Extensions
System.ComponentModel.Composition
System.Drawing
Vytvořit třídu, která implementuje IExplorerNodeTypeProvider rozhraní.
Přidejte následující atributy do třídy:
System.ComponentModel.Composition.ExportAttribute. Tento atribut umožňuje vyhledat a načíst Visual Studio vaše IExplorerNodeTypeProvider provedení. Předat IExplorerNodeTypeProvider typu konstruktor atributu.
ExplorerNodeTypeAttribute. V definici uzlu tento atribut určuje identifikátor řetězce pro nový uzel. Doporučujeme použít formát firma.název uzlu se přesvědčte, zda mají všechny uzly jedinečný identifikátor.
V implementace IExplorerNodeTypeProvider.InitializeType metodu použití členy typeDefinition parametr konfigurace chování nový uzel. Tento parametr je objekt IExplorerNodeTypeDefinition, který poskytuje přístup k událostem definovaným v rozhraní IExplorerNodeEvents.
Následující příklad kódu ukazuje, jak definovat nový uzel. Tento příklad předpokládá, že projekt obsahuje ikonu s názvem CustomChildNodeIcon jako vložené prostředky.
<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; } }
Přidat nový uzel jako podřízený existující uzel
Vytvořit třídu, která implementuje ve stejném projektu jako uzel definice IExplorerNodeTypeExtension rozhraní.
Přidat System.ComponentModel.Composition.ExportAttribute atributu třída Tento atribut umožňuje Visual Studiu zjišťovat a načítat vaši implementaci IExplorerNodeTypeExtension. Předat IExplorerNodeTypeExtension typu konstruktor atributu.
Přidat ExplorerNodeTypeAttribute atributu třída V uzlu Rozšíření tento atribut určuje identifikátor řetězce pro typ uzlu, který chcete rozšířit.
Chcete-li určit typy vestavěných uzlů poskytované Visual Studiem, předejte jednu z následujících výčtových hodnot konstruktoru atributů:
ExplorerNodeTypes: Použití uzly nebo všechny ostatní uzly nadřazeného webu těchto hodnot určit uzly připojení webu (uzly, které zobrazení adresy URL webu), Server Explorer.
ExtensionNodeTypes: Pomocí těchto hodnot určit jeden předdefinovaný uzly, které představují jednotlivé součásti na webu SharePoint, jako například uzel, který představuje seznam, pole nebo typu obsahu.
V implementace Initialize Metoda, úchyt NodeChildrenRequested události IExplorerNodeType parametr.
V NodeChildrenRequested obslužné rutiny události přidat nový uzel Kolekce podřízených uzlů Node objekt, který je vystaven argumenty parametru události.
Následující příklad kódu ukazuje, jak přidat nový uzel jako podřízený uzel webu SharePoint v 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); } }
Kompletní příklad
Následující příklad kódu poskytuje kompletní kód definovat Jednoduchý uzel a přidat jako podřízený uzel webu SharePoint v 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);
}
}
}
Probíhá kompilace kódu
Tento příklad předpokládá, že projekt obsahuje ikonu s názvem CustomChildNodeIcon jako vložené prostředky. V tomto příkladu vyžaduje také odkazy na následující sestavení:
Microsoft.VisualStudio.SharePoint
System.ComponentModel.Composition
System.Drawing
Nasazování rozšíření
Chcete-li nasadit rozšíření Průzkumníka serveru vytvořte Visual Studio balíček rozšíření (VSIX) pro sestavení a všechny další soubory, které chcete distribuovat s rozšířením. Další informace naleznete v tématu Nasazování rozšíření pro nástroje služby SharePoint v aplikaci Visual Studio.
Viz také
Úkoly
Podrobné pokyny: Rozšíření Průzkumníka serveru pro zobrazení webových částí
Další zdroje
Rozšíření uzlu připojení služby SharePoint v aplikaci Server Explorer
Postupy: Rozšíření uzlu služby SharePoint v Průzkumníku serveru