EditorPartChrome Classe

Définition

Permet aux développeurs de remplacer le rendu uniquement pour les sections sélectionnées des EditorPart contrôles d’une EditorZoneBase zone.

public ref class EditorPartChrome
public class EditorPartChrome
type EditorPartChrome = class
Public Class EditorPartChrome
Héritage
EditorPartChrome

Exemples

L’exemple de code suivant montre comment utiliser la EditorPartChrome classe pour remplacer le rendu par défaut des EditorPart contrôles dans une EditorZoneBase zone.

L’exemple de code comporte trois parties :

  • Contrôle utilisateur qui vous permet de modifier les modes d’affichage sur 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 EditorPartChrome d’une zone personnaliséesEditorZoneBase.

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 procédure pas à pas : modification des modes d’affichage sur une rubrique page de composants WebPart et placer le fichier dans le même dossier que la page .aspx de 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 d’étiquette. Notez également que la page fait référence à la zone d’éditeur personnalisée à l’aide de l’élément <aspSample:MyEditorZone>.

<%@ 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:MyEditorZone ID="EditorZone1" runat="server">
      <ZoneTemplate>
        <asp:AppearanceEditorPart ID="AppearanceEditorPart1" 
          runat="server" />
        <asp:LayoutEditorPart ID="LayoutEditorPart1" 
          runat="server" />
      </ZoneTemplate>
    </aspSample:MyEditorZone>
      </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:MyEditorZone ID="EditorZone1" runat="server">
      <ZoneTemplate>
        <asp:AppearanceEditorPart ID="AppearanceEditorPart1" 
          runat="server" />
        <asp:LayoutEditorPart ID="LayoutEditorPart1" 
          runat="server" />
      </ZoneTemplate>
    </aspSample:MyEditorZone>
      </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 composant Éditeur personnalisé chrome et de la zone de composant Éditeur. MyEditorZone EditorZone étend et remplace CreateEditorPartChrome pour retourner le chrome du composant Éditeur personnalisé. MyEditorPartChrome modifie la couleur d’arrière-plan du contrôle de partie éditeur dans la CreateEditorPartChromeStyle méthode. La couleur d’arrière-plan de la zone est modifiée dans la PerformPreRender méthode, et le texte est ajouté à la partie éditeur de la RenderPartContents méthode.

namespace Samples.AspNet.CS.Controls
{

    [AspNetHostingPermission(SecurityAction.Demand,
      Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand,
      Level = AspNetHostingPermissionLevel.Minimal)]
    public class MyEditorPartChrome : EditorPartChrome
    {
        public MyEditorPartChrome(EditorZoneBase zone)
            : base(zone)
        {
        }
        
        protected override Style CreateEditorPartChromeStyle(EditorPart editorPart, PartChromeType chromeType)
        {
            Style editorStyle = base.CreateEditorPartChromeStyle(editorPart, chromeType);
            editorStyle.BackColor = Color.Bisque;
            return editorStyle;
        }

        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, EditorPart editorPart)
        {
            writer.AddStyleAttribute("color", "red");
            writer.RenderBeginTag("p");
            writer.Write("Apply all changes");
            writer.RenderEndTag();
            editorPart.RenderControl(writer);
        }

        public override void RenderEditorPart(HtmlTextWriter writer, EditorPart editorPart)
        {
            base.RenderEditorPart(writer, editorPart);
        }
    }

    [AspNetHostingPermission(SecurityAction.Demand,
      Level = AspNetHostingPermissionLevel.Minimal)]
    [AspNetHostingPermission(SecurityAction.InheritanceDemand,
      Level = AspNetHostingPermissionLevel.Minimal)]
    public class MyEditorZone : EditorZone
    {
        protected override EditorPartChrome CreateEditorPartChrome()
        {
            return new MyEditorPartChrome(this);
        }
    }
}
Namespace Samples.AspNet.VB.Controls


    <AspNetHostingPermission(SecurityAction.Demand, _
      Level:=AspNetHostingPermissionLevel.Minimal)> _
    <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
      Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class MyEditorPartChrome
        Inherits EditorPartChrome

        Public Sub New(ByVal zone As EditorZoneBase)
            MyBase.New(zone)
        End Sub

        Protected Overrides Function CreateEditorPartChromeStyle(ByVal editorPart As System.Web.UI.WebControls.WebParts.EditorPart, ByVal chromeType As System.Web.UI.WebControls.WebParts.PartChromeType) As System.Web.UI.WebControls.Style
            Dim editorStyle As Style
            editorStyle = MyBase.CreateEditorPartChromeStyle(editorPart, 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 editorPart As System.Web.UI.WebControls.WebParts.EditorPart)
            writer.AddStyleAttribute("color", "red")
            writer.RenderBeginTag("p")
            writer.Write("Apply all changes")
            writer.RenderEndTag()
            editorPart.RenderControl(writer)
        End Sub

        Public Overrides Sub RenderEditorPart(ByVal writer As System.Web.UI.HtmlTextWriter, ByVal editorPart As System.Web.UI.WebControls.WebParts.EditorPart)
            MyBase.RenderEditorPart(writer, editorPart)
        End Sub
    End Class


    <AspNetHostingPermission(SecurityAction.Demand, _
      Level:=AspNetHostingPermissionLevel.Minimal)> _
    <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
      Level:=AspNetHostingPermissionLevel.Minimal)> _
    Public Class MyEditorZone
        Inherits EditorZone

        Protected Overrides Function CreateEditorPartChrome() As System.Web.UI.WebControls.WebParts.EditorPartChrome
            Return New MyEditorPartChrome(Me)
        End Function
    End Class
End Namespace

Remarques

Chrome fait référence aux éléments d’interface utilisateur périphérique qui frament 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 de titre et le menu verbes qui apparaissent 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 EditorPartChrome classe pour afficher le chrome pour EditorPart les contrôles. En outre, cette classe permet aux développeurs de personnaliser le rendu de tous les EditorPart contrôles d’une EditorZoneBase zone. Par exemple, vous pouvez remplacer la CreateEditorPartChromeStyle méthode pour personnaliser certains attributs de style spécifiques définis dans la EditorZoneBase zone.

La EditorPartChrome classe contient plusieurs méthodes importantes qui sont utiles lorsque vous souhaitez remplacer le rendu des EditorPart contrôles. Il s’agit du EditorPartChrome constructeur, que vous utilisez lorsque vous remplacez la CreateEditorPartChrome méthode dans une classe personnalisée EditorZoneBase pour créer une instance de votre objet personnalisé EditorPartChrome . 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 effectuer un contrôle programmatique sur tous les aspects du rendu des EditorPart contrôles, vous pouvez remplacer la RenderEditorPart méthode.

Notes pour les héritiers

Si vous héritez de la EditorPartChrome classe, vous devez créer une zone personnalisée EditorZone pour retourner votre classe personnalisée EditorPartChrome . La section Exemple de cette vue d’ensemble de la classe montre comment créer une zone personnalisée EditorZone pour retourner une classe personnalisée EditorPartChrome

Constructeurs

Nom Description
EditorPartChrome(EditorZoneBase)

Initialise une nouvelle instance de la classe EditorPartChrome.

Propriétés

Nom Description
Zone

Obtient une référence à la zone associée EditorZoneBase .

Méthodes

Nom Description
CreateEditorPartChromeStyle(EditorPart, PartChromeType)

Crée l’objet de style qui fournit des attributs de style pour chaque EditorPart contrôle rendu par l’objet EditorPartChrome .

Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
PerformPreRender()

Effectue des tâches qui doivent être effectuées avant les contrôles de rendu EditorPart .

RenderEditorPart(HtmlTextWriter, EditorPart)

Affiche un contrôle complet EditorPart avec toutes ses sections.

RenderPartContents(HtmlTextWriter, EditorPart)

Affiche la zone de contenu principale d’un EditorPart contrôle, à 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)

S’applique à