CatalogPartChrome Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Permite que os desenvolvedores substituam a renderização apenas pelas seções selecionadas dos controles de CatalogPart em uma zona de CatalogZoneBase.
public ref class CatalogPartChrome
public class CatalogPartChrome
type CatalogPartChrome = class
Public Class CatalogPartChrome
- Herança
-
CatalogPartChrome
Exemplos
O exemplo de código a seguir demonstra como usar a CatalogPartChrome classe para substituir a renderização padrão de CatalogPart controles em uma CatalogZoneBase zona.
O exemplo de código tem três partes:
Um controle de usuário que permite alterar os modos de exibição em uma página de Web Parts.
Uma página da Web que hospeda todos os controles no exemplo.
Uma classe que contém o código-fonte para uma classe e CatalogZoneBase zona personalizadasCatalogPartChrome.
A primeira parte do exemplo de código é o controle de usuário. O código-fonte para o controle de usuário vem de outro tópico. Para que este exemplo de código funcione, você precisa obter o arquivo .ascx para o controle de usuário do tópico Passo a passo : alterar modos de exibição em uma página de Web Parts e colocar o arquivo na mesma pasta que a página .aspx neste exemplo de código.
A segunda parte do exemplo é a página da Web. Observe que há uma Register
diretiva próxima à parte superior do arquivo para registrar o componente compilado e um prefixo de marca. Observe também que a página faz referência à zona de catálogo personalizada 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 cromada e da zona de parte do catálogo.
MyCatalogZone
CatalogZone estende e substitui CreateCatalogPartChrome para retornar o cromado da parte do catálogo personalizado.
MyCatalogPartChrome
altera a cor da tela de fundo do controle de catálogo no CreateCatalogPartChromeStyle método . A cor da tela de fundo da zona é alterada no método e o PerformPreRender 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
Comentários
O Chrome refere-se aos elementos da interface do usuário periférica que enquadram cada controle de Web Parts ou controle de servidor contido em uma zona. O cromado de um controle inclui sua borda, sua barra de título e os ícones, o texto do título e o menu de verbos que aparecem na barra de título. A aparência do cromo é definida no nível da zona e se aplica a todos os controles na zona.
O conjunto de controles de Web Parts usa a CatalogPartChrome classe para renderizar o cromado para CatalogPart controles. Além disso, essa classe fornece uma maneira para os desenvolvedores personalizarem a renderização de quaisquer CatalogPart controles em uma CatalogZoneBase zona. Por exemplo, você pode substituir 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 você deseja substituir a renderização de CatalogPart controles. Um deles é o CatalogPartChrome construtor, que você usa ao substituir o CreateCatalogPartChrome método em uma zona personalizada CatalogZoneBase para criar uma instância do objeto personalizado CatalogPartChrome . Outro método útil é o RenderPartContents método , que você pode usar para controlar a renderização da área de conteúdo de controles em uma zona (em vez de elementos cromados, como cabeçalhos, rodapés e barras de título). Por fim, se você quiser ter controle programático completo sobre todos os aspectos da renderização dos CatalogPart controles, poderá substituir o RenderCatalogPart método .
Notas aos Herdeiros
Se você herdar da CatalogPartChrome classe , deverá criar uma zona personalizada CatalogZone para retornar sua classe personalizada CatalogPartChrome . A seção Exemplo para esta visão geral de classe demonstra como criar uma zona personalizada CatalogZone para retornar uma classe personalizada CatalogPartChrome .
Construtores
CatalogPartChrome(CatalogZoneBase) |
Inicializa uma nova instância da classe CatalogPartChrome. |
Propriedades
Zone |
Obtém uma referência à zona CatalogZoneBase associada. |
Métodos
CreateCatalogPartChromeStyle(CatalogPart, PartChromeType) |
Cria o objeto de estilo que fornece os atributos de estilo para cada controle de CatalogPart renderizado pelo objeto de CatalogPartChrome. |
Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
MemberwiseClone() |
Cria uma cópia superficial do Object atual. (Herdado de Object) |
PerformPreRender() |
Executa tarefas que devem ser executadas antes da renderização dos controles de CatalogPart. |
RenderCatalogPart(HtmlTextWriter, CatalogPart) |
Renderiza um controle de CatalogPart completo com todas as suas seções. |
RenderPartContents(HtmlTextWriter, CatalogPart) |
Renderiza a área de conteúdo principal de um controle de CatalogPart, excluindo o cabeçalho e o rodapé. |
ToString() |
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |