Share via


CustomPropertyToolPart class

Representa a parte de ferramenta padrão que é exibida no painel de ferramentas para uma Web Part que implementa um ou mais propriedades personalizadas (propriedades além daquelas fornecidas pelo classe base WebPart ).

Inheritance hierarchy

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

Namespace:  Microsoft.SharePoint.WebPartPages
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaração
<AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level := AspNetHostingPermissionLevel.Minimal)> _
Public NotInheritable Class CustomPropertyToolPart _
    Inherits ToolPart
'Uso
Dim instance As CustomPropertyToolPart
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class CustomPropertyToolPart : ToolPart

Comentários

Uma propriedade personalizada será exibida automaticamente usando uma instância da classe CustomPropertyToolPart no painel de propriedade padrão, se a propriedade for do tipo String, Boolean, Integerou Enum. A tabela a seguir descreve como cada um desses tipos de propriedade é exibido na classe CustomPropertyToolPart no painel de propriedade.

Tipo de propriedade

Exibidas no painel de propriedade como

Booliano

Caixa de Verificação

Enum

Lista suspensa

Integer

Caixa de texto

Cadeia de caracteres

Caixa de texto

DateTime

Caixa de texto

Examples

O seguinte exemplo simples de Web Part demonstra o uso da classe WebPartToolPart e a classe CustomPropertyToolPart personalize a exibição das propriedades de Web Parts no painel de ferramentas. O exemplo substitui o método GetToolParts da classe base WebPart para exibir as propriedades de padrão da Web Part no painel de ferramentas, seguido de suas propriedades personalizadas e depois para expandir seções específicas de cada parte da ferramenta e para ocultar propriedades padrão específicas. A classe WebPartToolPart automaticamente exibe propriedades de padrão da Web Part, e a classe CustomPropertyToolPart automaticamente exibe propriedades personalizadas da Web Part.

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

Thread safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Ver também

Referência

CustomPropertyToolPart members

Microsoft.SharePoint.WebPartPages namespace