Clase CustomPropertyToolPart

Representa el elemento de herramientas predeterminada que se muestra en el panel de herramientas para un elemento Web que implemente una o varias propiedades personalizadas (propiedades distintos de los proporcionados por la clase base WebPart ).

Jerarquía de la herencia

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

Espacio de nombres:  Microsoft.SharePoint.WebPartPages
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
<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

Comentarios

Una propiedad personalizada se mostrará automáticamente con una instancia de la clase CustomPropertyToolPart en el panel de propiedad predeterminado si la propiedad es del tipo String, Boolean, Integero Enum. En la siguiente tabla se describe cómo cada uno de estos tipos de propiedad se muestra en la clase CustomPropertyToolPart en el panel de propiedad.

Tipo de propiedad

Muestra en el panel de propiedades como

Booleano

Casilla de verificación

Una enumeración

Desplegar

Integer

Cuadro de texto.

Cadena

Cuadro de texto.

DateTime

Cuadro de texto.

Ejemplos

En el siguiente ejemplo de elemento Web simple se muestra el uso de la clase WebPartToolPart y la clase CustomPropertyToolPart para personalizar la presentación de propiedades de elemento Web en el panel de herramientas. En el ejemplo se reemplaza el método de GetToolParts de la clase base de WebPart para mostrar las propiedades estándar del elemento Web en el panel de herramientas seguido de sus propiedades personalizadas a continuación, para expandir una sección específica de cada elemento de herramienta y ocultar propiedades estándar específicas. La clase WebPartToolPart muestra automáticamente las propiedades estándar del elemento Web, y la clase CustomPropertyToolPart muestra automáticamente las de propiedades personalizadas del elemento Web.

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

Seguridad para subprocesos

Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.

Vea también

Referencia

Miembros CustomPropertyToolPart

Espacio de nombres Microsoft.SharePoint.WebPartPages