Jak: projekty SharePoint přidat položky místní nabídky
Můžete přidat položky místní nabídky projektu služby SharePoint.Položky nabídky se zobrazí, když uživatel klepne pravým tlačítkem projektu uzlu v Aplikaci Solution Explorer.
Následující postup předpokládá, že jste již vytvořili rozšíření projektu.Další informace naleznete v tématu Jak: vytvoření rozšíření projektu SharePoint.
Přidání položky místní nabídky projektů SharePoint
V metodě Initialize vaší implementace ISharePointProjectExtension zpracujte událost ProjectMenuItemsRequested parametru projectService.
V obslužné rutiny události pro ProjectMenuItemsRequested události, přidat nový IMenuItem objekt na ActionMenuItems nebo AddMenuItems kolekce argumenty parametru události.
V Click obslužnou rutinu události pro nový IMenuItem objekt, provádět úkoly, které chcete spustit při klepnutí na vaše položky místní nabídky.
Příklad
Následující příklad kódu ukazuje, jak přidat položky místní nabídky SharePoint uzly projektu v Aplikaci Solution Explorer.Když uživatel klepne uzlu projektu a klepne Zapisovat zprávy výstupní okno položky nabídky, Visual Studio, zobrazí zprávu v Výstup okna.Tento příklad používá k zobrazení zprávy projektu služby SharePoint.Další informace naleznete v tématu Pomocí služby SharePoint projektu.
Imports System
Imports System.ComponentModel.Composition
Imports Microsoft.VisualStudio.SharePoint
Namespace Contoso.Examples
<Export(GetType(ISharePointProjectExtension))> _
Friend Class ExampleProjectExtensionWithMenu
Implements ISharePointProjectExtension
Private Sub Initialize(ByVal projectService As ISharePointProjectService) _
Implements ISharePointProjectExtension.Initialize
AddHandler projectService.ProjectMenuItemsRequested, AddressOf ProjectMenuItemsRequested
End Sub
Private Sub ProjectMenuItemsRequested(ByVal Sender As Object,
ByVal e As SharePointProjectMenuItemsRequestedEventArgs)
Dim menuItem As IMenuItem = e.ActionMenuItems.Add("Write Message to Output Window")
AddHandler menuItem.Click, AddressOf MenuItem_Click
End Sub
Private Sub MenuItem_Click(ByVal Sender As Object, ByVal e As MenuItemEventArgs)
Dim project As ISharePointProject = TryCast(e.Owner, ISharePointProject)
If project IsNot Nothing Then
project.ProjectService.Logger.WriteLine(
String.Format("This message was written from a shortcut menu for the {0} project.", project.Name),
LogCategory.Status)
End If
End Sub
End Class
End Namespace
using System;
using System.ComponentModel.Composition;
using Microsoft.VisualStudio.SharePoint;
namespace Contoso.Examples
{
[Export(typeof(ISharePointProjectExtension))]
internal class ExampleProjectExtensionWithMenu : ISharePointProjectExtension
{
public void Initialize(ISharePointProjectService projectService)
{
projectService.ProjectMenuItemsRequested += projectService_ProjectMenuItemsRequested;
}
void projectService_ProjectMenuItemsRequested(object sender,
SharePointProjectMenuItemsRequestedEventArgs e)
{
IMenuItem menuItem = e.ActionMenuItems.Add("Write Message to Output Window");
menuItem.Click += MenuItemExtension_Click;
}
void MenuItemExtension_Click(object sender, MenuItemEventArgs e)
{
ISharePointProject project = e.Owner as ISharePointProject;
if (project != null)
{
project.ProjectService.Logger.WriteLine(
String.Format("This message was written from a shortcut menu for the {0} project.", project.Name),
LogCategory.Status);
}
}
}
}
Probíhá kompilace kódu
V tomto příkladu vyžaduje projekt knihovny třídy s odkazy na následující sestavení:
Microsoft.VisualStudio.SharePoint
System.ComponentModel.Composition
Nasazování rozšíření
Chcete-li nasadit rozšíření, 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.