Compartir a través de


EditorPartChrome Clase

Definición

Permite que los desarrolladores reemplacen únicamente la representación de las secciones seleccionadas en los controles EditorPart de una zona EditorZoneBase.

public ref class EditorPartChrome
public class EditorPartChrome
type EditorPartChrome = class
Public Class EditorPartChrome
Herencia
EditorPartChrome

Ejemplos

En el ejemplo de código siguiente se muestra cómo usar la EditorPartChrome clase para invalidar la representación predeterminada de EditorPart los controles en una EditorZoneBase zona.

El ejemplo de código tiene tres partes:

  • Control de usuario que permite cambiar los modos de visualización en una página de elementos web.

  • Página web que hospeda todos los controles del ejemplo.

  • Clase que contiene el código fuente de una clase y EditorZoneBase zona personalizadasEditorPartChrome.

La primera parte del ejemplo de código es el control de usuario. El código fuente del control de usuario procede de otro tema. Para que este ejemplo de código funcione, debe obtener el archivo .ascx para el control de usuario del Tutorial: Cambiar modos de presentación en un tema de página de elementos web y colocar el archivo en la misma carpeta que la página .aspx en este ejemplo de código.

La segunda parte del ejemplo es la página web. Tenga en cuenta que hay una Register directiva cerca de la parte superior del archivo para registrar el componente compilado y un prefijo de etiqueta. Tenga en cuenta también que la página hace referencia a la zona del editor personalizada mediante el elemento <aspSample:MyEditorZone>.

<%@ Page Language="C#" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.CS.Controls" %>
<%@ Register TagPrefix="uc1" TagName="DisplayModeMenuCS" Src="~/DisplayModeMenuCS.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
  <title>Web Parts Page</title>
</head>
<body>
  <h1>Web Parts Demonstration Page</h1>
  <form runat="server" id="form1">
<asp:webpartmanager id="WebPartManager1" runat="server" />
<uc1:DisplayModeMenuCS runat="server" ID="DisplayModeMenu" />
  <br />
  <table cellspacing="0" cellpadding="0" border="0">
    <tr>
      <td valign="top">
    <asp:webpartzone id="SideBarZone" runat="server" 
        headertext="Sidebar">
        <zonetemplate>
        </zonetemplate>
      </asp:webpartzone>
      <aspSample:MyEditorZone ID="EditorZone1" runat="server">
      <ZoneTemplate>
        <asp:AppearanceEditorPart ID="AppearanceEditorPart1" 
          runat="server" />
        <asp:LayoutEditorPart ID="LayoutEditorPart1" 
          runat="server" />
      </ZoneTemplate>
    </aspSample:MyEditorZone>
      </td>
      <td valign="top">
    <asp:webpartzone id="MainZone" runat="server" headertext="Main">
         <zonetemplate>
        <asp:label id="contentPart" runat="server" title="Content">
              <h2>Welcome to My Home Page</h2>
              <p>Use links to visit my favorite sites!</p>
            </asp:label>
         </zonetemplate>
       </asp:webpartzone>
      </td>
      <td valign="top">
      </td>
    </tr>
  </table>
  </form>
</body>
</html>
<%@ Page Language="VB" %>
<%@ register tagprefix="aspSample" 
  Namespace="Samples.AspNet.VB.Controls" %>
<%@ Register TagPrefix="uc1" TagName="DisplayModeMenuVB" Src="~/DisplayModeMenuVB.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
  <title>Web Parts Page</title>
</head>
<body>
  <h1>Web Parts Demonstration Page</h1>
  <form runat="server" id="form1">
<asp:webpartmanager id="WebPartManager1" runat="server" />
<uc1:DisplayModeMenuVB runat="server" ID="DisplayModeMenu" />
  <br />
  <table cellspacing="0" cellpadding="0" border="0">
    <tr>
      <td valign="top">
    <asp:webpartzone id="SideBarZone" runat="server" 
        headertext="Sidebar">
        <zonetemplate>
        </zonetemplate>
      </asp:webpartzone>
      <aspSample:MyEditorZone ID="EditorZone1" runat="server">
      <ZoneTemplate>
        <asp:AppearanceEditorPart ID="AppearanceEditorPart1" 
          runat="server" />
        <asp:LayoutEditorPart ID="LayoutEditorPart1" 
          runat="server" />
      </ZoneTemplate>
    </aspSample:MyEditorZone>
      </td>
      <td valign="top">
    <asp:webpartzone id="MainZone" runat="server" headertext="Main">
         <zonetemplate>
        <asp:label id="contentPart" runat="server" title="Content">
              <h2>Welcome to My Home Page</h2>
              <p>Use links to visit my favorite sites!</p>
            </asp:label>
         </zonetemplate>
       </asp:webpartzone>
      </td>
      <td valign="top">
      </td>
    </tr>
  </table>
  </form>
</body>
</html>

La tercera parte del ejemplo contiene la implementación del elemento de editor personalizado chrome y la zona de elementos del editor. MyEditorZoneEditorZone extiende e invalida CreateEditorPartChrome para devolver el cromo del elemento del editor personalizado. MyEditorPartChrome cambia el color de fondo del control de elemento del editor en el CreateEditorPartChromeStyle método . El color de fondo de la zona se cambia en el PerformPreRender método y el texto se agrega al elemento del editor en el RenderPartContents método .

namespace Samples.AspNet.CS.Controls
{

    [AspNetHostingPermission(SecurityAction.Demand,
      Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand,
      Level = AspNetHostingPermissionLevel.Minimal)]
    public class MyEditorPartChrome : EditorPartChrome
    {
        public MyEditorPartChrome(EditorZoneBase zone)
            : base(zone)
        {
        }
        
        protected override Style CreateEditorPartChromeStyle(EditorPart editorPart, PartChromeType chromeType)
        {
            Style editorStyle = base.CreateEditorPartChromeStyle(editorPart, chromeType);
            editorStyle.BackColor = Color.Bisque;
            return editorStyle;
        }

        public override void PerformPreRender()
        {
            Style zoneStyle = new Style();
            zoneStyle.BackColor = Color.Cornsilk;

            Zone.Page.Header.StyleSheet.RegisterStyle(zoneStyle, null);
            Zone.MergeStyle(zoneStyle);
        }

        protected override void RenderPartContents(HtmlTextWriter writer, EditorPart editorPart)
        {
            writer.AddStyleAttribute("color", "red");
            writer.RenderBeginTag("p");
            writer.Write("Apply all changes");
            writer.RenderEndTag();
            editorPart.RenderControl(writer);
        }

        public override void RenderEditorPart(HtmlTextWriter writer, EditorPart editorPart)
        {
            base.RenderEditorPart(writer, editorPart);
        }
    }

    [AspNetHostingPermission(SecurityAction.Demand,
      Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand,
      Level = AspNetHostingPermissionLevel.Minimal)]
    public class MyEditorZone : EditorZone
    {
        protected override EditorPartChrome CreateEditorPartChrome()
        {
            return new MyEditorPartChrome(this);
        }
    }
}
Namespace Samples.AspNet.VB.Controls


    <AspNetHostingPermission(SecurityAction.Demand, _
      Level:=AspNetHostingPermissionLevel.Minimal)> _
    <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
      Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class MyEditorPartChrome
        Inherits EditorPartChrome

        Public Sub New(ByVal zone As EditorZoneBase)
            MyBase.New(zone)
        End Sub

        Protected Overrides Function CreateEditorPartChromeStyle(ByVal editorPart As System.Web.UI.WebControls.WebParts.EditorPart, ByVal chromeType As System.Web.UI.WebControls.WebParts.PartChromeType) As System.Web.UI.WebControls.Style
            Dim editorStyle As Style
            editorStyle = MyBase.CreateEditorPartChromeStyle(editorPart, chromeType)
            editorStyle.BackColor = Drawing.Color.Bisque
            Return editorStyle
        End Function

        Public Overrides Sub PerformPreRender()
            Dim zoneStyle As Style = New Style
            zoneStyle.BackColor = Drawing.Color.Cornsilk

            Zone.Page.Header.StyleSheet.RegisterStyle(zoneStyle, Nothing)
            Zone.MergeStyle(zoneStyle)
        End Sub

        Protected Overrides Sub RenderPartContents(ByVal writer As System.Web.UI.HtmlTextWriter, ByVal editorPart As System.Web.UI.WebControls.WebParts.EditorPart)
            writer.AddStyleAttribute("color", "red")
            writer.RenderBeginTag("p")
            writer.Write("Apply all changes")
            writer.RenderEndTag()
            editorPart.RenderControl(writer)
        End Sub

        Public Overrides Sub RenderEditorPart(ByVal writer As System.Web.UI.HtmlTextWriter, ByVal editorPart As System.Web.UI.WebControls.WebParts.EditorPart)
            MyBase.RenderEditorPart(writer, editorPart)
        End Sub
    End Class


    <AspNetHostingPermission(SecurityAction.Demand, _
      Level:=AspNetHostingPermissionLevel.Minimal)> _
    <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
      Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class MyEditorZone
        Inherits EditorZone

        Protected Overrides Function CreateEditorPartChrome() As System.Web.UI.WebControls.WebParts.EditorPartChrome
            Return New MyEditorPartChrome(Me)
        End Function
    End Class
End Namespace

Comentarios

Chrome hace referencia a los elementos periféricos de la interfaz de usuario (UI) que enmarcan cada control elementos web control o control de servidor contenido en una zona. El cromo de un control incluye su borde, su barra de título y los iconos, texto de título y menú verbos que aparecen dentro de la barra de título. La apariencia del cromo se establece en el nivel de zona y se aplica a todos los controles de la zona.

El conjunto de controles elementos web usa la EditorPartChrome clase para representar el cromo para EditorPart los controles. Además, esta clase proporciona una manera para que los desarrolladores personalicen la representación de cualquier EditorPart control de una EditorZoneBase zona. Por ejemplo, puede invalidar el CreateEditorPartChromeStyle método para personalizar algunos atributos de estilo específicos definidos en la EditorZoneBase zona.

La EditorPartChrome clase contiene varios métodos importantes que son útiles cuando se desea invalidar la representación de EditorPart controles. Uno es el EditorPartChrome constructor, que se usa al invalidar el CreateEditorPartChrome método en una clase personalizada EditorZoneBase para crear una instancia del objeto personalizado EditorPartChrome . Otro método útil es el RenderPartContents método , que se puede usar para controlar la representación del área de contenido de los controles en una zona (en lugar de elementos cromo como encabezados, pies de página y barras de título). Por último, si desea completar el control mediante programación sobre todos los aspectos de la representación de los EditorPart controles, puede invalidar el RenderEditorPart método .

Notas a los desarrolladores de herederos

Si hereda de la EditorPartChrome clase , debe crear una zona personalizada EditorZone para devolver la clase personalizada EditorPartChrome . En la sección Ejemplo de esta información general de clase se muestra cómo crear una zona personalizada EditorZone para devolver una clase personalizada EditorPartChrome .

Constructores

EditorPartChrome(EditorZoneBase)

Inicializa una nueva instancia de la clase EditorPartChrome.

Propiedades

Zone

Obtiene una referencia a la zona EditorZoneBase asociada.

Métodos

CreateEditorPartChromeStyle(EditorPart, PartChromeType)

Crea el objeto de estilo que proporciona los atributos de estilo a cada control EditorPart procesado por el objeto EditorPartChrome.

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetType()

Obtiene el Type de la instancia actual.

(Heredado de Object)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
PerformPreRender()

Realiza tareas que deben llevarse a cabo antes de representar los controles EditorPart.

RenderEditorPart(HtmlTextWriter, EditorPart)

Representa un control EditorPart completo con todas sus secciones.

RenderPartContents(HtmlTextWriter, EditorPart)

Procesa el área de contenido principal de un control EditorPart, excepto el encabezado y el pie de página.

ToString()

Devuelve una cadena que representa el objeto actual.

(Heredado de Object)

Se aplica a