Udostępnij za pośrednictwem


Porady: dodawanie pozycji menu skrótów do rozszerzenia elementu projektu SharePoint

Element menu skrótów można dodać do istniejącego elementu projektu programu SharePoint przy użyciu rozszerzenia elementu projektu.Zostanie wyświetlony element menu, gdy użytkownik kliknie prawym przyciskiem myszy element projektu w Solution Explorer.

Poniższe informacje dotyczą przypadków zostały już utworzone rozszerzenie elementu projektu.Aby uzyskać więcej informacji, zobacz Porady: tworzenie rozszerzenia elementu projektu SharePoint.

Aby dodać element menu skrótów w rozszerzeniu element projektu

  1. W Initialize metody na ISharePointProjectItemTypeExtension realizacji, uchwyt ProjectItemMenuItemsRequested zdarzenia projectItemType parametru.

  2. Obsługi zdarzenia dla ProjectItemMenuItemsRequested zdarzenie, Dodaj nowy IMenuItem obiektu do ViewMenuItems lub AddMenuItems kolekcji parametr argumenty zdarzeń.

  3. W Click obsługi zdarzeń dla nowego IMenuItem obiektów, należy wykonać te zadania, które chcesz wykonać, gdy użytkownik kliknie element menu skrótów.

Przykład

Poniższy przykład kodu pokazuje sposób dodawania elementu menu skrótów do odbiorcy zdarzeń elementu projektu.Po kliknięciu elementu projektu w Solution Explorer i klika Napisać wiadomość do okna dane wyjściowe elementu menu, Visual Studio, wyświetla komunikat w produkcji 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);
        }
    }
}

W tym przykładzie użyto usługi projektu programu SharePoint, aby napisać wiadomość do produkcji okna.Aby uzyskać więcej informacji, zobacz Korzystanie z usługi projektu SharePoint.

Kompilowanie kodu

W tym przykładzie wymaga projektu biblioteki klas z odniesieniem do następujących zestawów:

  • Microsoft.VisualStudio.SharePoint

  • System.ComponentModel.Composition

Wdrażanie rozszerzenia

Aby wdrożyć 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ędzi SharePoint w Visual Studio.

Zobacz też

Zadania

Wskazówki: rozszerzanie typu elementu projektu SharePoint

Koncepcje

Porady: tworzenie rozszerzenia elementu projektu SharePoint

Porady: dodawanie właściwości do rozszerzenia elementu projektu SharePoint

Rozszerzanie pozycji projektu SharePoint