Aracılığıyla paylaş


Nasıl yapılır: SharePoint projeler için bir kısayol menü öğesi Ekle

Herhangi bir SharePoint proje için bir kısayol menü öğesi ekleyebilirsiniz.Bir kullanıcı bir proje düğümünde tıklattığında menü öğesi görünür Solution Explorer.

Aşağıdaki adımlar proje uzantısı zaten oluşturduğunuz varsayılır.Daha fazla bilgi için bkz. Nasıl yapılır: SharePoint proje uzantısı oluşturma.

SharePoint projeler için bir kısayol menü öğesi eklemek için

  1. De Initialize yöntemi, ISharePointProjectExtension uygulaması, tanıtıcı ProjectMenuItemsRequested , olay projectService parametresi.

  2. Olay işleyicisi, ProjectMenuItemsRequested olay, yeni bir ekleme IMenuItem itiraz ActionMenuItems veya AddMenuItems olay bağımsız değişkenler parametre koleksiyonu.

  3. De Click olay işleyicisini yeni IMenuItem nesne, kullanıcı kısayol menü öğesini tıklattığında çalıştırılacak istediğiniz görevleri gerçekleştirin.

Örnek

SharePoint Proje düğümleri bir kısayol menü öğesi ekleme aşağıdaki kod örneği göstermektedir Solution Explorer.Ne zaman kullanıcı bir proje düðümü karşılaşır ve tıklattığında Yazma iletisi Output penceresine menü öğesi, Visual Studio, bir ileti görüntüler Çıkış pencere.Bu örnek iletiyi görüntülemek için SharePoint proje hizmeti kullanır.Daha fazla bilgi için bkz. SharePoint proje hizmeti kullanma.

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);
            }
        }
    }
}

Kod Derleniyor

Bu örnek bir sınıf kitaplığı projesi ile aşağıdaki derlemelerine başvurular gerektirir:

  • Microsoft.VisualStudio.SharePoint

  • System.ComponentModel.Composition

Uzantısı dağıtma

Uzantısı dağıtmak için bir Visual Studio uzantısı (VSIX) paketini derleme ve uzantısıyla dağıtmak istediğiniz diğer dosyaları.Daha fazla bilgi için bkz. Visual Studio SharePoint Araçlar için uzantıları dağıtma.

Ayrıca bkz.

Kavramlar

SharePoint projeleri genişletme

Nasıl yapılır: SharePoint proje uzantısı oluşturma

Nasıl yapılır: SharePoint projeleri için özellik eklemek