Sdílet prostřednictvím


Postupy: Rozšíření položky služby SharePoint projektu přidat položky místní nabídky

Můžete přidat položky místní nabídky u existující položky projektu SharePoint pomocí rozšíření položky projektu. Položky nabídky se zobrazí, když uživatel klepne 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 Postupy: Vytvoření přípony položky projektu SharePoint.

Přidání položky místní nabídky v rozšíření položky projektu

  1. V Initialize metoda vaše ISharePointProjectItemTypeExtension provedení, úchyt ProjectItemMenuItemsRequested události projectItemType parametr.

  2. V obslužnou rutinu události pro ProjectItemMenuItemsRequested událostí přidat nový IMenuItem k objektu ViewMenuItems nebo AddMenuItems kolekce argumenty parametru události.

  3. V Click obslužnou rutinu události pro nový IMenuItem objekt provádět úlohy, kterou chcete spustit, když uživatel klepne na položku nabídky zástupce.

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 zobrazí zprávu v nabídce položku Visual Studio 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žba 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 projektu 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

Postupy: Vytvoření přípony položky projektu SharePoint

Podrobné pokyny: Rozšiřování typu položky projektu SharePoint

Další zdroje

Postupy: Přidání vlastnosti do přípony SharePoint projektu

Rozšíření položky projektu SharePoint