CatalogPartChrome Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Permet aux développeurs de substituer le rendu uniquement pour les sections sélectionnées de contrôles CatalogPart dans une zone CatalogZoneBase.
public ref class CatalogPartChrome
public class CatalogPartChrome
type CatalogPartChrome = class
Public Class CatalogPartChrome
- Héritage
-
CatalogPartChrome
Exemples
L’exemple de code suivant montre comment utiliser la CatalogPartChrome classe pour remplacer le rendu par défaut des CatalogPart contrôles dans une CatalogZoneBase zone.
L’exemple de code comporte trois parties :
Contrôle utilisateur qui vous permet de modifier les modes d’affichage d’une page de composants WebPart.
Page Web qui héberge tous les contrôles de l’exemple.
Classe qui contient le code source d’une classe et d’une CatalogZoneBase zone personnaliséesCatalogPartChrome.
La première partie de l’exemple de code est le contrôle utilisateur. Le code source du contrôle utilisateur provient d’une autre rubrique. Pour que cet exemple de code fonctionne, vous devez obtenir le fichier .ascx pour le contrôle utilisateur à partir de la rubrique Procédure pas à pas : modification des modes d’affichage sur une page de composants WebPart , et placer le fichier dans le même dossier que la page .aspx dans cet exemple de code.
La deuxième partie de l’exemple est la page Web. Notez qu’il existe une Register
directive en haut du fichier pour inscrire le composant compilé et un préfixe de balise. Notez également que la page fait référence à la zone de catalogue personnalisée à l’aide de l’élément <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>
La troisième partie de l’exemple contient l’implémentation du chrome du composant de catalogue personnalisé et de la zone de partie de catalogue.
MyCatalogZone
CatalogZone étend et remplace CreateCatalogPartChrome pour renvoyer le composant de catalogue personnalisé chrome.
MyCatalogPartChrome
modifie la couleur d’arrière-plan du contrôle catalogue dans la CreateCatalogPartChromeStyle méthode . La couleur d’arrière-plan de la zone est modifiée dans la méthode et le PerformPreRender texte est ajouté à la partie catalogue dans la RenderPartContents méthode.
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
Remarques
Chrome fait référence aux éléments d’interface utilisateur périphérique qui encadrent chaque contrôle webPart ou contrôle serveur contenu dans une zone. Le chrome d’un contrôle inclut sa bordure, sa barre de titre et les icônes, le texte du titre et le menu verbes qui s’affichent dans la barre de titre. L’apparence du chrome est définie au niveau de la zone et s’applique à tous les contrôles de la zone.
Le jeu de contrôles WebPart utilise la CatalogPartChrome classe pour afficher le chrome des CatalogPart contrôles. En outre, cette classe permet aux développeurs de personnaliser le rendu de tous CatalogPart les contrôles d’une CatalogZoneBase zone. Par exemple, vous pouvez remplacer la CreateCatalogPartChromeStyle méthode pour personnaliser certains attributs de style spécifiques appliqués à la CatalogZoneBase zone.
La CatalogPartChrome classe contient plusieurs méthodes importantes qui sont utiles lorsque vous souhaitez remplacer le rendu des CatalogPart contrôles. L’un est le CatalogPartChrome constructeur, que vous utilisez lorsque vous remplacez la CreateCatalogPartChrome méthode dans une zone personnalisée CatalogZoneBase pour créer une instance de votre objet personnalisé CatalogPartChrome . Une autre méthode utile est la RenderPartContents méthode, que vous pouvez utiliser pour contrôler le rendu de la zone de contenu des contrôles dans une zone (par opposition aux éléments chrome tels que les en-têtes, les pieds de page et les barres de titre). Enfin, si vous souhaitez un contrôle par programme complet sur tous les aspects du rendu CatalogPart des contrôles, vous pouvez remplacer la RenderCatalogPart méthode.
Notes pour les héritiers
Si vous héritez de la CatalogPartChrome classe, vous devez créer une zone personnalisée CatalogZone pour renvoyer votre classe personnalisée CatalogPartChrome . La section Exemple de cette vue d’ensemble de la classe montre comment créer une zone personnalisée CatalogZone pour retourner une classe personnalisée CatalogPartChrome .
Constructeurs
CatalogPartChrome(CatalogZoneBase) |
Initialise une nouvelle instance de la classe CatalogPartChrome. |
Propriétés
Zone |
Obtient une référence à la zone CatalogZoneBase associée. |
Méthodes
CreateCatalogPartChromeStyle(CatalogPart, PartChromeType) |
Crée l'objet de style qui fournit des attributs de style pour chaque contrôle CatalogPart restitué par l'objet CatalogPartChrome. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
PerformPreRender() |
Exécute des tâches qui doivent être effectuées avant le rendu des contrôles CatalogPart. |
RenderCatalogPart(HtmlTextWriter, CatalogPart) |
Génère le rendu d'un contrôle CatalogPart complet avec toutes ses sections. |
RenderPartContents(HtmlTextWriter, CatalogPart) |
Génère le rendu de la zone de contenu principale d'un contrôle CatalogPart, à l'exclusion de l'en-tête et du pied de page. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |