CustomPropertyToolPart - Classe

Représente la partie d'outil par défaut qui est affichée dans le volet d'outils de composant WebPart qui implémente une ou plusieurs propriétés personnalisées (propriétés autres que celles fournies par la classe de base WebPart ).

Hiérarchie d’héritage

System.Object
  System.Web.UI.Control
    System.Web.UI.WebControls.WebControl
      System.Web.UI.WebControls.Panel
        System.Web.UI.WebControls.WebParts.Part
          System.Web.UI.WebControls.WebParts.EditorPart
            Microsoft.SharePoint.WebPartPages.EditorPartAdapter
              Microsoft.SharePoint.WebPartPages.ToolPart
                Microsoft.SharePoint.WebPartPages.CustomPropertyToolPart

Espace de noms :  Microsoft.SharePoint.WebPartPages
Assembly :  Microsoft.SharePoint (dans Microsoft.SharePoint.dll)

Syntaxe

'Déclaration
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomPropertyToolPart _
    Inherits ToolPart
'Utilisation
Dim instance As CustomPropertyToolPart
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomPropertyToolPart : ToolPart

Remarques

Une propriété personnalisée s'affiche automatiquement à l'aide d'une instance de la classe CustomPropertyToolPart dans le volet de la propriété par défaut si la propriété est de type String, Boolean, Integerou Enum. Le tableau suivant décrit la façon dont chacun de ces types de propriété s'affiche dans la classe CustomPropertyToolPart dans le volet de la propriété.

Type de propriété

Affiché dans le volet de propriétés en tant que

Booléen

Case à cocher

Énumération

Liste déroulante

Entier

Zone de texte

Chaîne

Zone de texte

DateTime

Zone de texte

Exemples

L'exemple de composant WebPart simple suivant illustre l'utilisation de la classe WebPartToolPart et la classe CustomPropertyToolPart pour personnaliser l'affichage des propriétés de composant WebPart dans le volet d'outils. L'exemple substitue à la méthode GetToolParts de la classe de base WebPart afin d'afficher les propriétés du composant WebPart standard dans le volet d'outils suivi par ses propriétés personnalisées, puis de développer des sections spécifiques de chaque composant outil et masquer des propriétés standard spécifiques. La classe WebPartToolPart affiche automatiquement les propriétés du composant WebPart standard, et la classe CustomPropertyToolPart affiche automatiquement les propriétés personnalisées du composant WebPart.

Imports System
Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Xml.Serialization
Imports Microsoft.SharePoint
Imports Microsoft.SharePoint.Utilities
Imports Microsoft.SharePoint.WebPartPages

' A simple Web Part with a single custom Text property.

<DefaultProperty("Text"), ToolboxData("<{0}:WebPart1 
runat=server></{0}:WebPart1>"), 
XmlRoot(Namespace:="WebPartLibrary1")> _
 Public Class WebPart1 
Inherits Microsoft.SharePoint.WebPartPages.WebPart

    Private Const _defaultText As String = ""
    Dim _text As String = _defaultText

    ' The Web Part's single custom Text property.

    <Browsable(True), Category("Miscellaneous"), 
        DefaultValue(_defaultText), WebPartStorage(Storage.Personal), 
        FriendlyName("Text"), Description("Text Property")> _
    Property [Text]() As String
        Get
            Return _text
        End Get

        Set(ByVal Value As String)
            _text = Value
        End Set
    End Property

    ' An overridden version of the GetToolParts() method of the WebPart base class.
    ' The WebPartToolPart automatically displays the Web Part's standard properties
    ' The CustomPropertyToolPart displays automatically displays 
    '  the Web Part's custom properties

    Public Overrides Function GetToolParts() As ToolPart()
        Dim toolParts(2) As ToolPart
        Dim custom As CustomPropertyToolPart = New CustomPropertyToolPart
        custom.Expand("Miscellaneous")
        Dim wptp As WebPartToolPart = New WebPartToolPart
        With wptp
            .Expand(WebPartToolPart.Categories.Appearance)
            .Hide(WebPartToolPart.Properties.FrameState)
            .Hide(WebPartToolPart.Properties.FrameType)
        End With
        toolParts(0) = custom
        toolParts(1) = wptp
        Return toolParts
    End Function

    ' Renders the Web Part.

    Protected Overrides Sub RenderWebPart(ByVal output 
    As System.Web.UI.HtmlTextWriter)
        output.Write(SPEncode.HtmlEncode([Text]))
    End Sub

End Class
using System;
using System.ComponentModel;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Serialization;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Utilities;
using Microsoft.SharePoint.WebPartPages;

namespace WebPartLibrary1CS
{
    [DefaultProperty("Text"),
        ToolboxData("<{0}:WebPart1 runat=server></{0}:WebPart1>"),
        XmlRoot(Namespace="WebPartLibrary1CS")]
    public class WebPart1 : Microsoft.SharePoint.WebPartPages.WebPart
    {
        private const string defaultText = "";
        private string text=defaultText;

        [Browsable(true),Category("Miscellaneous"),
            DefaultValue(defaultText),
            WebPartStorage(Storage.Personal),
            FriendlyName("Text"),Description("Text Property")]
        public string Text
        {
            get
            {
                return text;
            }

            set
            {
                text = value;
            }
        }
        
        public override ToolPart[] GetToolParts()
        {
            ToolPart[] toolparts = new ToolPart[2];
   CustomPropertyToolPart custom = new CustomPropertyToolPart();
            WebPartToolPart wptp = new WebPartToolPart();
            wptp.Expand(WebPartToolPart.Categories.Appearance);
            wptp.Hide(WebPartToolPart.Properties.FrameState);
            wptp.Hide(WebPartToolPart.Properties.FrameType);
            toolparts[0] = wptp;
            toolparts[1] = custom;

            return toolparts;
        }
        
        protected override void RenderWebPart(HtmlTextWriter output)
        {
            output.Write(SPEncode.HtmlEncode(Text));
        }
    }
}

Cohérence de thread

Tous les membres statique (Partagé dans Visual Basic)s publics de ce type sont thread-safe. Cela n’est pas garanti pour les membres d’instance.

Voir aussi

Référence

CustomPropertyToolPart - Membres

Microsoft.SharePoint.WebPartPages - Espace de noms