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.