Jak: rozšíření položky služby SharePoint projektu přidat položky místní nabídky
Položky místní nabídky můžete přidat do existujícího projektu položky služby SharePoint pomocí rozšíření položky projektu.Položky nabídky se zobrazí, když uživatel klepne pravým tlačítkem myši na položku projektu v Aplikaci Solution Explorer.
Následující postup předpokládá, že jste již vytvořili rozšíření položky projektu.Další informace naleznete v tématu Jak: vytvoření rozšíření položky služby SharePoint projektu.
Přidání položky místní nabídky v rozšíření položky projektu
V metodě Initialize vaší implementace ISharePointProjectItemTypeExtension zpracujte událost ProjectItemMenuItemsRequested parametru projectItemType.
V obslužné rutiny události pro ProjectItemMenuItemsRequested události, přidat nový IMenuItem objekt na ViewMenuItems 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 položku projektu příjemce událostí.Po kliknutí pravým tlačítkem na položku projektu v Aplikaci Solution Explorer a klepne Zapisovat zprávy výstupní okno položky nabídky, Visual Studio, zobrazí zprávu v Výstup okna.
Imports System
Imports System.ComponentModel.Composition
Imports Microsoft.VisualStudio.SharePoint
Namespace Contoso.Examples.ProjectItemExtensionWithMenu
<Export(GetType(ISharePointProjectItemTypeExtension))> _
<SharePointProjectItemType("Microsoft.VisualStudio.SharePoint.EventHandler")> _
Friend Class ExampleProjectItemExtensionWithMenu
Implements ISharePointProjectItemTypeExtension
Private Sub Initialize(ByVal projectItemType As ISharePointProjectItemType) _
Implements ISharePointProjectItemTypeExtension.Initialize
AddHandler projectItemType.ProjectItemMenuItemsRequested, AddressOf ProjectItemMenuItemsRequested
End Sub
Private Sub ProjectItemMenuItemsRequested(ByVal Sender As Object,
ByVal e As SharePointProjectItemMenuItemsRequestedEventArgs)
Dim menuItem As IMenuItem = e.ViewMenuItems.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 projectItem As ISharePointProjectItem = CType(e.Owner, ISharePointProjectItem)
projectItem.Project.ProjectService.Logger.WriteLine(
String.Format("This message was written from a shortcut menu for {0}.", projectItem.Name),
LogCategory.Status)
End Sub
End Class
End Namespace
using System;
using System.ComponentModel.Composition;
using Microsoft.VisualStudio.SharePoint;
namespace Contoso.Examples.ProjectItemExtensionWithMenu
{
[Export(typeof(ISharePointProjectItemTypeExtension))]
[SharePointProjectItemType("Microsoft.VisualStudio.SharePoint.EventHandler")]
internal class ExampleProjectItemExtensionWithMenu : ISharePointProjectItemTypeExtension
{
public void Initialize(ISharePointProjectItemType projectItemType)
{
projectItemType.ProjectItemMenuItemsRequested += projectItemType_ProjectItemMenuItemsRequested;
}
void projectItemType_ProjectItemMenuItemsRequested(object sender,
SharePointProjectItemMenuItemsRequestedEventArgs e)
{
IMenuItem menuItem = e.ViewMenuItems.Add("Write Message to Output Window");
menuItem.Click += MenuItemExtension_Click;
}
void MenuItemExtension_Click(object sender, MenuItemEventArgs e)
{
ISharePointProjectItem projectItem = (ISharePointProjectItem)e.Owner;
projectItem.Project.ProjectService.Logger.WriteLine(
String.Format("This message was written from a shortcut menu for {0}.", projectItem.Name),
LogCategory.Status);
}
}
}
Tento příklad používá službu SharePoint projektu zapisovat zprávy Výstup okna.Další informace naleznete v tématu Pomocí služby SharePoint projektu.
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.
Viz také
Úkoly
Názorný postup: Rozšíření typ položky služby SharePoint projektu
Koncepty
Jak: vytvoření rozšíření položky služby SharePoint projektu
Jak: přidání vlastnosti do rozšíření položky služby SharePoint projektu