CatalogPartChrome Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Umožňuje vývojářům přepsat vykreslování pouze pro vybrané části ovládacích CatalogPart prvků v CatalogZoneBase zóně.
public ref class CatalogPartChrome
public class CatalogPartChrome
type CatalogPartChrome = class
Public Class CatalogPartChrome
- Dědičnost
-
CatalogPartChrome
Příklady
Následující příklad kódu ukazuje, jak pomocí CatalogPartChrome třídy přepsat výchozí vykreslování ovládacích CatalogPart prvků v CatalogZoneBase zóně.
Příklad kódu má tři části:
Uživatelský ovládací prvek, který umožňuje měnit režimy zobrazení na stránce webových částí.
Webová stránka, která je hostitelem všech ovládacích prvků v příkladu.
Třída, která obsahuje zdrojový kód pro vlastní CatalogPartChrome třídu a CatalogZoneBase zónu.
První částí příkladu kódu je uživatelský ovládací prvek. Zdrojový kód uživatelského ovládacího prvku pochází z jiného tématu. Aby tento příklad kódu fungoval, musíte získat soubor .ascx pro uživatelský ovládací prvek z tématu Návod: Změna režimů zobrazení na stránce webových částí a umístit soubor do stejné složky jako stránka .aspx v tomto příkladu kódu.
Druhou částí příkladu je webová stránka. Všimněte si, že v horní části souboru je Register
direktiva pro registraci zkompilované komponenty a předpona značky. Všimněte si také, že stránka odkazuje na zónu vlastního katalogu pomocí elementu <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>
Třetí část příkladu obsahuje implementaci vlastní části katalogu chrome a zóny části katalogu.
MyCatalogZone
CatalogZone rozšiřuje a přepisujeCreateCatalogPartChrome, aby vrátila část vlastního katalogu chrome.
MyCatalogPartChrome
změní barvu pozadí ovládacího prvku katalogu v CreateCatalogPartChromeStyle metodě. Barva pozadí zóny se v metodě změní PerformPreRender a text se přidá do části katalogu v RenderPartContents metodě.
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
Poznámky
Chrome odkazuje na prvky periferního uživatelského rozhraní , které orámují jednotlivé ovládací prvky webových částí nebo serverové ovládací prvky obsažené v zóně. Chrome ovládacího prvku zahrnuje jeho ohraničení, záhlaví a ikony, text nadpisu a nabídku sloves, které se zobrazí v záhlaví. Vzhled chromu je nastaven na úrovni zóny a platí pro všechny ovládací prvky v zóně.
Sada ovládacích prvků webové části používá CatalogPartChrome třídu k vykreslení chromu pro CatalogPart ovládací prvky. Kromě toho tato třída poskytuje vývojářům způsob, jak přizpůsobit vykreslování všech CatalogPart ovládacích prvků v CatalogZoneBase zóně. Můžete například přepsat metodu CreateCatalogPartChromeStyle a přizpůsobit některé konkrétní atributy stylu použité na zónu CatalogZoneBase .
Třída CatalogPartChrome obsahuje několik důležitých metod, které jsou užitečné, když chcete přepsat vykreslování ovládacích CatalogPart prvků. Jedním je CatalogPartChrome konstruktor, který použijete při přepsání CreateCatalogPartChrome metody ve vlastní CatalogZoneBase zóně k vytvoření instance vlastního CatalogPartChrome objektu. Další užitečnou metodou je RenderPartContents metoda, kterou můžete použít k řízení vykreslování oblasti obsahu ovládacích prvků v zóně (na rozdíl od prvků chromu, jako jsou záhlaví, zápatí a záhlaví). A konečně, pokud chcete mít úplnou programovou kontrolu nad všemi aspekty vykreslování CatalogPart ovládacích prvků, můžete metodu RenderCatalogPart přepsat.
Poznámky pro dědice
Pokud dědíte z CatalogPartChrome třídy, musíte vytvořit přizpůsobenou CatalogZone zónu, která vrátí vaši přizpůsobenou CatalogPartChrome třídu. Část Příklad pro přehled této třídy ukazuje, jak vytvořit přizpůsobenou CatalogZone zónu pro vrácení přizpůsobené CatalogPartChrome třídy.
Konstruktory
CatalogPartChrome(CatalogZoneBase) |
Inicializuje novou instanci CatalogPartChrome třídy. |
Vlastnosti
Zone |
Získá odkaz na přidruženou CatalogZoneBase zónu. |
Metody
CreateCatalogPartChromeStyle(CatalogPart, PartChromeType) |
Vytvoří objekt stylu, který poskytuje atributy stylu pro každý CatalogPart ovládací prvek vykreslený objektem CatalogPartChrome . |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí hashovací funkce. (Zděděno od Object) |
GetType() |
Získá aktuální Type instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
PerformPreRender() |
Provádí úlohy, které je nutné provést před vykreslováním CatalogPart ovládacích prvků. |
RenderCatalogPart(HtmlTextWriter, CatalogPart) |
Vykreslí úplný CatalogPart ovládací prvek se všemi jeho oddíly. |
RenderPartContents(HtmlTextWriter, CatalogPart) |
Vykreslí oblast hlavního obsahu ovládacího prvku CatalogPart s výjimkou záhlaví a zápatí. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |