CatalogPartChrome 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 de los controles CatalogPart de una zona CatalogZoneBase.
public ref class CatalogPartChrome
public class CatalogPartChrome
type CatalogPartChrome = class
Public Class CatalogPartChrome
- Herencia
-
CatalogPartChrome
Ejemplos
En el ejemplo de código siguiente se muestra cómo usar la CatalogPartChrome clase para invalidar la representación predeterminada de CatalogPart controles en una CatalogZoneBase 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 CatalogZoneBase zona personalizadasCatalogPartChrome.
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 tema Walkthrough: Changing Display Modes on a Web Parts Page 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 de catálogo personalizada mediante el elemento <aspSample:MyCatalogZone>
.
<%@ 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:MyCatalogZone ID="CatalogZone1" runat="server">
<ZoneTemplate>
<asp:ImportCatalogPart ID="ImportCatalog" runat="server" />
</ZoneTemplate>
</aspSample:MyCatalogZone>
</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:MyCatalogZone ID="CatalogZone1" runat="server">
<ZoneTemplate>
<asp:ImportCatalogPart ID="ImportCatalog" runat="server" />
</ZoneTemplate>
</aspSample:MyCatalogZone>
</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 cromo del elemento de catálogo personalizado y la zona de elementos de catálogo.
MyCatalogZone
CatalogZone extiende e invalida CreateCatalogPartChrome para devolver el cromo del elemento de catálogo personalizado.
MyCatalogPartChrome
cambia el color de fondo del control de catálogo en el CreateCatalogPartChromeStyle método . El color de fondo de la zona se cambia en el PerformPreRender método y el texto se agrega al elemento de catálogo en el RenderPartContents método .
namespace Samples.AspNet.CS.Controls
{
/// <summary>
/// Summary description for source
/// </summary>
public class MyCatalogPartChrome : CatalogPartChrome
{
public MyCatalogPartChrome(CatalogZoneBase zone)
: base(zone)
{
}
protected override Style CreateCatalogPartChromeStyle(CatalogPart catalogPart, PartChromeType chromeType)
{
Style catalogStyle = base.CreateCatalogPartChromeStyle(catalogPart, chromeType);
catalogStyle.BackColor = Color.Bisque;
return catalogStyle;
}
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, CatalogPart catalogPart)
{
writer.AddStyleAttribute("color", "red");
writer.RenderBeginTag("p");
writer.Write("Apply all changes");
writer.RenderEndTag();
catalogPart.RenderControl(writer);
}
public override void RenderCatalogPart(HtmlTextWriter writer, CatalogPart catalogPart)
{
base.RenderCatalogPart(writer, catalogPart);
}
}
public class MyCatalogZone : CatalogZone
{
protected override CatalogPartChrome CreateCatalogPartChrome()
{
return new MyCatalogPartChrome(this);
}
}
}
Namespace Samples.AspNet.VB.Controls
Public Class MyCatalogPartChrome
Inherits CatalogPartChrome
Public Sub New(ByVal zone As CatalogZoneBase)
MyBase.New(zone)
End Sub
Protected Overrides Function CreateCatalogPartChromeStyle(ByVal catalogPart As System.Web.UI.WebControls.WebParts.CatalogPart, ByVal chromeType As System.Web.UI.WebControls.WebParts.PartChromeType) As System.Web.UI.WebControls.Style
Dim editorStyle As Style
editorStyle = MyBase.CreateCatalogPartChromeStyle(catalogPart, 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 catalogPart As System.Web.UI.WebControls.WebParts.CatalogPart)
writer.AddStyleAttribute("color", "red")
writer.RenderBeginTag("p")
writer.Write("Apply all changes")
writer.RenderEndTag()
catalogPart.RenderControl(writer)
End Sub
Public Overrides Sub RenderCatalogPart(ByVal writer As System.Web.UI.HtmlTextWriter, ByVal catalogPart As System.Web.UI.WebControls.WebParts.CatalogPart)
MyBase.RenderCatalogPart(writer, catalogPart)
End Sub
End Class
Public Class MyCatalogZone
Inherits CatalogZone
Protected Overrides Function CreateCatalogPartChrome() As System.Web.UI.WebControls.WebParts.CatalogPartChrome
Return New MyCatalogPartChrome(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 de elementos web o control de servidor contenido en una zona. El cromo de un control incluye su borde, su barra de título y los iconos, el texto del título y el 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 de elementos web usa la CatalogPartChrome clase para representar el cromo de CatalogPart los controles. Además, esta clase proporciona una manera para que los desarrolladores personalicen la representación de cualquier CatalogPart control de una CatalogZoneBase zona. Por ejemplo, puede invalidar el CreateCatalogPartChromeStyle método para personalizar algunos atributos de estilo específicos aplicados a la CatalogZoneBase zona.
La CatalogPartChrome clase contiene varios métodos importantes que son útiles cuando se desea invalidar la representación de CatalogPart controles. Uno es el CatalogPartChrome constructor, que se usa al invalidar el CreateCatalogPartChrome método en una zona personalizada CatalogZoneBase para crear una instancia del objeto personalizado CatalogPartChrome . 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 de cromo como encabezados, pies de página y barras de título). Por último, si desea un control mediante programación completo sobre todos los aspectos de la representación de los CatalogPart controles, puede invalidar el RenderCatalogPart método .
Notas a los desarrolladores de herederos
Si hereda de la CatalogPartChrome clase , debe crear una zona personalizada CatalogZone para devolver la clase personalizada CatalogPartChrome . En la sección Ejemplo de esta información general de clase se muestra cómo crear una zona personalizada CatalogZone para devolver una clase personalizada CatalogPartChrome .
Constructores
CatalogPartChrome(CatalogZoneBase) |
Inicializa una nueva instancia de la clase CatalogPartChrome. |
Propiedades
Zone |
Obtiene una referencia a la zona CatalogZoneBase asociada. |
Métodos
CreateCatalogPartChromeStyle(CatalogPart, PartChromeType) |
Crea el objeto de estilo que proporciona los atributos de estilo a cada control CatalogPart procesado por el objeto CatalogPartChrome. |
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 CatalogPart. |
RenderCatalogPart(HtmlTextWriter, CatalogPart) |
Representa un control CatalogPart completo con todas sus secciones. |
RenderPartContents(HtmlTextWriter, CatalogPart) |
Procesa el área de contenido principal de un control CatalogPart, excepto el encabezado y el pie de página. |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |