CatalogPartChrome Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Permite aos programadores sobrepor a renderização apenas para as secções selecionadas de CatalogPart controlos numa CatalogZoneBase zona.
public ref class CatalogPartChrome
public class CatalogPartChrome
type CatalogPartChrome = class
Public Class CatalogPartChrome
- Herança
-
CatalogPartChrome
Exemplos
O exemplo de código seguinte demonstra como usar a CatalogPartChrome classe para sobrescrever a renderização padrão dos CatalogPart controlos numa CatalogZoneBase zona.
O exemplo de código tem três partes:
Um controlo de utilizador que permite alterar modos de visualização numa página de Web Parts.
Uma página web que aloja todos os controlos do exemplo.
Uma classe que contém o código-fonte de uma classe e CatalogZoneBase zona personalizadasCatalogPartChrome.
A primeira parte do exemplo do código é o controlo do utilizador. O código-fonte do controlo do utilizador vem de outro tópico. Para que este exemplo de código funcione, precisa de obter o ficheiro .ascx para o controlo do utilizador a partir do tópico Walkthrough: Changing Display Modes on a Web Parts Page , e colocar o ficheiro na mesma pasta da página .aspx neste exemplo de código.
A segunda parte do exemplo é a página Web. Note que existe uma Register diretiva perto do topo do ficheiro para registar o componente compilado e um prefixo de etiqueta. Note também que a página faz referência à zona de catálogo personalizado usando o 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>
A terceira parte do exemplo contém a implementação da parte de catálogo personalizada chrome e da zona de peças de catálogo.
MyCatalogZone estende CatalogZone e sobrepõe CreateCatalogPartChrome para devolver a parte do catálogo personalizado chrome.
MyCatalogPartChrome altera a cor de fundo do controlo de catálogo no CreateCatalogPartChromeStyle método. A cor de fundo da zona é alterada no PerformPreRender método, e o texto é adicionado à parte do catálogo no 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
Observações
Chrome refere-se aos elementos periféricos da interface de utilizador (UI) que enquadram cada controlo Web Parts ou controlo de servidor contido numa zona. O cromo de um controlo inclui a sua borda, a sua barra de título e os ícones, texto do título e verbos que aparecem na barra de título. A aparência do cromo é definida ao nível da zona e aplica-se a todos os controlos da zona.
O conjunto de controlos Web Parts usa a CatalogPartChrome classe para renderizar o cromo dos CatalogPart controlos. Além disso, esta classe oferece uma forma para os programadores personalizarem a renderização de quaisquer CatalogPart controlos numa CatalogZoneBase zona. Por exemplo, podes sobrescrever o CreateCatalogPartChromeStyle método para personalizar alguns atributos de estilo específicos aplicados à CatalogZoneBase zona.
A CatalogPartChrome classe contém vários métodos importantes que são úteis quando se quer sobrepor a renderização dos CatalogPart controlos. Um é o CatalogPartChrome construtor, que usas quando sobrepões o CreateCatalogPartChrome método numa zona personalizada CatalogZoneBase para criar uma instância do teu objeto personalizado CatalogPartChrome . Outro método útil é o RenderPartContents método, que pode usar para controlar a renderização da área de conteúdo dos controlos numa zona (ao contrário de elementos do Chrome como cabeçalhos, rodapés e barras de título). Finalmente, se quiseres controlo programático completo sobre todos os aspetos da renderização dos CatalogPart controlos, podes sobrepor o RenderCatalogPart método.
Notas para Herdeiros
Se herdar da CatalogPartChrome classe, deve criar uma zona personalizada CatalogZone para devolver a sua classe personalizada CatalogPartChrome . A secção de Exemplos para esta visão geral da classe demonstra como criar uma zona personalizada CatalogZone para devolver uma classe personalizada CatalogPartChrome .
Construtores
| Name | Description |
|---|---|
| CatalogPartChrome(CatalogZoneBase) |
Inicializa uma nova instância da CatalogPartChrome classe. |
Propriedades
| Name | Description |
|---|---|
| Zone |
Recebe uma referência para a zona associada CatalogZoneBase . |
Métodos
| Name | Description |
|---|---|
| CreateCatalogPartChromeStyle(CatalogPart, PartChromeType) |
Cria o objeto style que fornece atributos style para cada CatalogPart controlo renderizado pelo CatalogPartChrome objeto. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| PerformPreRender() |
Realiza tarefas que devem ser feitas antes dos controlos de renderização CatalogPart . |
| RenderCatalogPart(HtmlTextWriter, CatalogPart) |
Renderiza um controlo completo CatalogPart com todas as suas secções. |
| RenderPartContents(HtmlTextWriter, CatalogPart) |
Renderiza a área principal de conteúdo de um CatalogPart controlo, excluindo o cabeçalho e o rodapé. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |