CatalogPartChrome Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Gör det möjligt för utvecklare att åsidosätta återgivningen endast för de valda avsnitten av CatalogPart kontroller i en CatalogZoneBase zon.
public ref class CatalogPartChrome
public class CatalogPartChrome
type CatalogPartChrome = class
Public Class CatalogPartChrome
- Arv
-
CatalogPartChrome
Exempel
Följande kodexempel visar hur du använder CatalogPartChrome klassen för att åsidosätta standardåtergivningen av CatalogPart kontroller i en CatalogZoneBase zon.
Kodexemplet har tre delar:
En användarkontroll som gör att du kan ändra visningslägen på en webbdelssida.
En webbsida som är värd för alla kontroller i exemplet.
En klass som innehåller källkoden för en anpassad CatalogPartChrome klass och CatalogZoneBase zon.
Den första delen av kodexemplet är användarkontrollen. Källkoden för användarkontrollen kommer från ett annat ämne. För att det här kodexemplet ska fungera måste du hämta .ascx-filen för användarkontrollen från avsnittet Genomgång: Ändra visningslägen på en webbdelssida och placera filen i samma mapp som sidan .aspx i det här kodexemplet.
Den andra delen av exemplet är webbsidan. Observera att det finns ett Register direktiv längst upp i filen för att registrera den kompilerade komponenten och ett taggprefix. Observera också att sidan refererar till den anpassade katalogzonen med elementet <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>
Den tredje delen av exemplet innehåller implementeringen av den anpassade katalogdelens krom- och katalogdelszon.
MyCatalogZone utökar CatalogZone och åsidosätter CreateCatalogPartChrome för att returnera den anpassade katalogdelen chrome.
MyCatalogPartChrome ändrar bakgrundsfärgen för katalogkontrollen i CreateCatalogPartChromeStyle -metoden. Bakgrundsfärgen för zonen ändras i PerformPreRender metoden och text läggs till i katalogdelen i RenderPartContents -metoden.
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
Kommentarer
Chrome refererar till elementen för det perifera användargränssnittet (UI) som ramar in varje webbdelskontroll eller serverkontroll som finns i en zon. Chrome för en kontroll innehåller dess kantlinje, dess namnlist och ikonerna, rubriktexten och verbmenyn som visas i namnlisten. Utseendet på kromet anges på zonnivå och gäller för alla kontroller i zonen.
Kontrolluppsättningen CatalogPartChrome Webbdelar använder klassen för att återge chrome för CatalogPart kontroller. Dessutom ger den här klassen ett sätt för utvecklare att anpassa renderingen av alla CatalogPart kontroller i en CatalogZoneBase zon. Du kan till exempel åsidosätta CreateCatalogPartChromeStyle metoden för att anpassa vissa specifika formatattribut som tillämpas på CatalogZoneBase zonen.
Klassen CatalogPartChrome innehåller flera viktiga metoder som är användbara när du vill åsidosätta återgivningen av CatalogPart kontroller. Den ena CatalogPartChrome är konstruktorn som du använder när du åsidosätter CreateCatalogPartChrome metoden i en anpassad CatalogZoneBase zon för att skapa en instans av ditt anpassade CatalogPartChrome objekt. En annan användbar metod är metoden RenderPartContents som du kan använda för att styra återgivningen av innehållsområdet för kontroller i en zon (till skillnad från kromelement som sidhuvuden, sidfötter och namnlister). Slutligen kan du åsidosätta metoden om du vill ha fullständig programmatisk kontroll över alla aspekter av återgivningen CatalogPart av RenderCatalogPart kontrollerna.
Anteckningar till arvingar
Om du ärver från CatalogPartChrome klassen måste du skapa en anpassad CatalogZone zon för att returnera din anpassade CatalogPartChrome klass. Avsnittet Exempel för den här klassöversikten visar hur du skapar en anpassad CatalogZone zon för att returnera en anpassad CatalogPartChrome klass.
Konstruktorer
| Name | Description |
|---|---|
| CatalogPartChrome(CatalogZoneBase) |
Initierar en ny instans av CatalogPartChrome klassen. |
Egenskaper
| Name | Description |
|---|---|
| Zone |
Hämtar en referens till den associerade CatalogZoneBase zonen. |
Metoder
| Name | Description |
|---|---|
| CreateCatalogPartChromeStyle(CatalogPart, PartChromeType) |
Skapar formatobjektet som tillhandahåller formatattribut för varje CatalogPart kontroll som återges av CatalogPartChrome objektet. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| PerformPreRender() |
Utför uppgifter som måste utföras innan återgivningskontroller CatalogPart . |
| RenderCatalogPart(HtmlTextWriter, CatalogPart) |
Renderar en fullständig CatalogPart kontroll med alla dess avsnitt. |
| RenderPartContents(HtmlTextWriter, CatalogPart) |
Renderar huvudinnehållsområdet i en CatalogPart kontroll, exklusive sidhuvud och sidfot. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |