CatalogPartChrome Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee kunnen ontwikkelaars de weergave alleen overschrijven voor de geselecteerde secties van CatalogPart besturingselementen in een CatalogZoneBase zone.
public ref class CatalogPartChrome
public class CatalogPartChrome
type CatalogPartChrome = class
Public Class CatalogPartChrome
- Overname
-
CatalogPartChrome
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de CatalogPartChrome klasse gebruikt om de standaardweergave van CatalogPart besturingselementen in een CatalogZoneBase zone te overschrijven.
Het codevoorbeeld heeft drie delen:
Een gebruikersbeheer waarmee u weergavemodi op een pagina met webonderdelen kunt wijzigen.
Een webpagina waarop alle besturingselementen in het voorbeeld worden gehost.
Een klasse die de broncode voor een aangepaste CatalogPartChrome klasse en CatalogZoneBase zone bevat.
Het eerste deel van het codevoorbeeld is het gebruikersbeheer. De broncode voor het gebruikersbeheer komt uit een ander onderwerp. Om dit codevoorbeeld te laten werken, moet u het ASCX-bestand voor het gebruikersbeheer ophalen uit het scenario: Weergavemodi wijzigen op een paginaonderwerp met webonderdelen en het bestand in dezelfde map plaatsen als de .aspx pagina in dit codevoorbeeld.
Het tweede deel van het voorbeeld is de webpagina. Houd er rekening mee dat er boven aan het bestand een Register instructie is voor het registreren van het gecompileerde onderdeel en een tagvoorvoegsel. Houd er ook rekening mee dat de pagina verwijst naar de aangepaste cataloguszone met behulp van het element <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>
Het derde deel van het voorbeeld bevat de implementatie van de aangepaste catalogusonderdeel chrome en catalogusonderdeelzone.
MyCatalogZone breidt CatalogZone en onderdrukkingen CreateCatalogPartChrome uit om het aangepaste catalogusonderdeel chrome te retourneren.
MyCatalogPartChrome wijzigt de achtergrondkleur van het catalogusbeheer in de CreateCatalogPartChromeStyle methode. De achtergrondkleur van de zone wordt gewijzigd in de PerformPreRender methode en tekst wordt toegevoegd aan het catalogusonderdeel in de RenderPartContents methode.
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
Opmerkingen
Chrome verwijst naar de elementen van de randapparaatgebruikersinterface (UI) die elk besturingselement voor webonderdelen of serverbeheer in een zone omkaderen. Het chroom voor een besturingselement bevat de rand, de titelbalk en de pictogrammen, titeltekst en het menu werkwoorden die in de titelbalk worden weergegeven. Het uiterlijk van het chroom is ingesteld op zoneniveau en is van toepassing op alle besturingselementen in de zone.
De besturingsset webonderdelen gebruikt de CatalogPartChrome klasse om de chrome voor CatalogPart besturingselementen weer te geven. Daarnaast biedt deze klasse ontwikkelaars een manier om het weergeven van CatalogPart besturingselementen in een CatalogZoneBase zone aan te passen. U kunt bijvoorbeeld de CreateCatalogPartChromeStyle methode overschrijven om bepaalde specifieke stijlkenmerken aan te passen die op de CatalogZoneBase zone zijn toegepast.
De CatalogPartChrome klasse bevat verschillende belangrijke methoden die handig zijn als u het weergeven van CatalogPart besturingselementen wilt overschrijven. Een is de CatalogPartChrome constructor die u gebruikt wanneer u de CreateCatalogPartChrome methode in een aangepaste CatalogZoneBase zone overschrijft om een exemplaar van uw aangepaste CatalogPartChrome object te maken. Een andere handige methode is de RenderPartContents methode die u kunt gebruiken om het weergeven van het inhoudsgebied van besturingselementen in een zone te beheren (in tegenstelling tot chrome-elementen zoals kopteksten, voetteksten en titelbalken). Ten slotte kunt u de methode overschrijven als u volledige programmatische controle wilt over alle aspecten van het weergeven van de CatalogPartRenderCatalogPart besturingselementen.
Notities voor overnemers
Als u de CatalogPartChrome klasse overgeeft, moet u een aangepaste CatalogZone zone maken om de aangepaste CatalogPartChrome klasse te retourneren. In de sectie Voorbeeld voor dit klasseoverzicht ziet u hoe u een aangepaste CatalogZone zone maakt om een aangepaste CatalogPartChrome klasse te retourneren.
Constructors
| Name | Description |
|---|---|
| CatalogPartChrome(CatalogZoneBase) |
Initialiseert een nieuw exemplaar van de CatalogPartChrome klasse. |
Eigenschappen
| Name | Description |
|---|---|
| Zone |
Hiermee wordt een verwijzing naar de gekoppelde CatalogZoneBase zone opgehaald. |
Methoden
| Name | Description |
|---|---|
| CreateCatalogPartChromeStyle(CatalogPart, PartChromeType) |
Hiermee maakt u het stijlobject dat stijlkenmerken levert voor elk CatalogPart besturingselement dat door het CatalogPartChrome object wordt weergegeven. |
| Equals(Object) |
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| MemberwiseClone() |
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| PerformPreRender() |
Voert taken uit die moeten worden uitgevoerd voordat u besturingselementen weer geeft CatalogPart . |
| RenderCatalogPart(HtmlTextWriter, CatalogPart) |
Geeft een volledig CatalogPart besturingselement weer met alle bijbehorende secties. |
| RenderPartContents(HtmlTextWriter, CatalogPart) |
Hiermee wordt het hoofdinhoudsgebied van een CatalogPart besturingselement weergegeven, met uitzondering van de kop- en voettekst. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |