EditorPartChrome Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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. MyEditorZone
EditorZone 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) |