EditorPartChrome Classe

Definizione

Consente agli sviluppatori di eseguire l'override del rendering solo per sezioni selezionate di controlli EditorPart in una zona EditorZoneBase.Enables developers to override the rendering for only the selected sections of EditorPart controls in an EditorZoneBase zone.

public ref class EditorPartChrome
public class EditorPartChrome
type EditorPartChrome = class
Public Class EditorPartChrome
Ereditarietà
EditorPartChrome

Esempi

Nell'esempio di codice riportato di seguito viene illustrato EditorPartChrome come utilizzare la classe per eseguire l' EditorPart override del rendering EditorZoneBase predefinito dei controlli in una zona.The following code example demonstrates how to use the EditorPartChrome class to override the default rendering of EditorPart controls in an EditorZoneBase zone.

L'esempio di codice è costituito da tre parti:The code example has three parts:

  • Controllo utente che consente di modificare le modalità di visualizzazione in una pagina Web part.A user control that enables you to change display modes on a Web Parts page.

  • Pagina Web che ospita tutti i controlli nell'esempio.A Web page that hosts all the controls in the example.

  • Classe che contiene il codice sorgente per una classe e EditorPartChrome EditorZoneBase una zona personalizzate.A class that contains the source code for a custom EditorPartChrome class and EditorZoneBase zone.

La prima parte dell'esempio di codice è il controllo utente.The first part of the code example is the user control. Il codice sorgente per il controllo utente deriva da un altro argomento.The source code for the user control comes from another topic. Per il corretto funzionamento di questo esempio di codice, è necessario ottenere il file con estensione ascx per il controllo utente dalla procedura dettagliata: Modificare le modalità di visualizzazione in un argomento della pagina Web part e inserire il file nella stessa cartella della pagina aspx in questo esempio di codice.For this code example to work, you need to obtain the .ascx file for the user control from the Walkthrough: Changing Display Modes on a Web Parts Page topic, and place the file in the same folder as the .aspx page in this code example.

La seconda parte dell'esempio è la pagina Web.The second part of the example is the Web page. Si noti che è presente Register una direttiva nella parte superiore del file per registrare il componente compilato e un prefisso del tag.Note that there is a Register directive near the top of the file to register the compiled component and a tag prefix. Si noti anche che la pagina fa riferimento alla zona dell'editor personalizzata <aspSample:MyEditorZone>usando l'elemento.Also note that the page references the custom editor zone using the element <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 terza parte dell'esempio contiene l'implementazione della parte dell'editor personalizzata Chrome e della zona dell'editor della parte.The third part of the example contains the implementation of the custom editor part chrome and editor part zone. MyEditorZoneestende EditorZone e sostituisce CreateEditorPartChrome per restituire la parte dell'editor personalizzata Chrome.MyEditorZone extends EditorZone and overrides CreateEditorPartChrome to return the custom editor part chrome. MyEditorPartChromemodifica il colore di sfondo del controllo della parte dell'editor CreateEditorPartChromeStyle nel metodo.MyEditorPartChrome changes the background color of the editor part control in the CreateEditorPartChromeStyle method. Il colore di sfondo della zona viene modificato nel PerformPreRender metodo e il testo viene aggiunto alla parte dell'editor RenderPartContents nel metodo.The background color of the zone is changed in the PerformPreRender method, and text is added to the editor part in the RenderPartContents method.

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

Commenti

Chrome si riferisce agli elementi dell'interfaccia utente periferica che incorniciano ogni controllo Web part o controllo server contenuto in una zona.Chrome refers to the peripheral user interface (UI) elements that frame each Web Parts control or server control contained in a zone. Il riquadro per un controllo include il bordo, la barra del titolo e le icone, il testo del titolo e il menu dei verbi visualizzati all'interno della barra del titolo.The chrome for a control includes its border, its title bar, and the icons, title text, and verbs menu that appear within the title bar. L'aspetto di Chrome viene impostato a livello di zona e si applica a tutti i controlli della zona.The appearance of the chrome is set at the zone level, and applies to all the controls in the zone.

Il set di controlli Web part USA EditorPartChrome la classe per eseguire il rendering EditorPart del riquadro per i controlli.The Web Parts control set uses the EditorPartChrome class to render the chrome for EditorPart controls. Questa classe fornisce inoltre agli sviluppatori un modo per personalizzare il rendering di tutti EditorPart i controlli in una EditorZoneBase zona.Additionally, this class provides a way for developers to customize the rendering of any EditorPart controls in an EditorZoneBase zone. Ad esempio, è possibile eseguire l' CreateEditorPartChromeStyle override del metodo per personalizzare alcuni attributi di stile specifici EditorZoneBase definiti nella zona.For example, you can override the CreateEditorPartChromeStyle method to customize some specific style attributes defined in the EditorZoneBase zone.

La EditorPartChrome classe contiene diversi metodi importanti che risultano utili quando si desidera eseguire l'override del EditorPart rendering dei controlli.The EditorPartChrome class contains several important methods that are useful when you want to override the rendering of EditorPart controls. Uno è il EditorPartChrome costruttore, che viene usato quando si esegue l' CreateEditorPartChrome override del metodo in EditorZoneBase una classe personalizzata per creare un'istanza dell' EditorPartChrome oggetto personalizzato.One is the EditorPartChrome constructor, which you use when you override the CreateEditorPartChrome method in a custom EditorZoneBase class to create an instance of your custom EditorPartChrome object. Un altro metodo utile è RenderPartContents il metodo, che è possibile usare per controllare il rendering dell'area di contenuto dei controlli in una zona (in contrapposizione agli elementi di Chrome come intestazioni, piè di pagina e barre del titolo).Another useful method is the RenderPartContents method, which you can use to control the rendering of the content area of controls in a zone (as opposed to chrome elements such as headers, footers, and title bars). Infine, se si desidera il controllo completo a livello di codice su tutti EditorPart gli aspetti del rendering dei controlli RenderEditorPart , è possibile eseguire l'override del metodo.Finally, if you want complete programmatic control over all aspects of rendering the EditorPart controls, you can override the RenderEditorPart method.

Note per gli eredi

Se si eredita dalla EditorPartChrome classe, è necessario creare un'area personalizzata EditorZone per restituire la classe personalizzata. EditorPartChromeIf you inherit from the EditorPartChrome class, you must create a customized EditorZone zone to return your customized EditorPartChrome class. Nella sezione di esempio di questa panoramica della classe viene illustrato come creare EditorZone un'area personalizzata per restituire EditorPartChrome una classe personalizzataThe Example section of this class overview demonstrates how to create a customized EditorZone zone to return a customized EditorPartChrome class

Costruttori

EditorPartChrome(EditorZoneBase)

Inizializza una nuova istanza della classe EditorPartChrome.Initializes a new instance of the EditorPartChrome class.

Proprietà

Zone

Ottiene un riferimento alla zona EditorZoneBase associata.Gets a reference to the associated EditorZoneBase zone.

Metodi

CreateEditorPartChromeStyle(EditorPart, PartChromeType)

Crea l'oggetto stile che fornisce gli attributi di stile per ciascun controllo EditorPart di cui è stato eseguito il rendering tramite l'oggetto EditorPartChrome.Creates the style object that supplies style attributes for each EditorPart control rendered by the EditorPartChrome object.

Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.Determines whether the specified object is equal to the current object.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.Serves as the default hash function.

(Ereditato da Object)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.Gets the Type of the current instance.

(Ereditato da Object)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.Creates a shallow copy of the current Object.

(Ereditato da Object)
PerformPreRender()

Esegue operazioni che devono essere effettuate prima del rendering dei controlli EditorPart.Performs tasks that must be done prior to rendering EditorPart controls.

RenderEditorPart(HtmlTextWriter, EditorPart)

Esegue il rendering di un controllo EditorPart completo con tutte le relative sezioni.Renders a complete EditorPart control with all its sections.

RenderPartContents(HtmlTextWriter, EditorPart)

Esegue il rendering dell'area di contenuto principale di un controllo EditorPart, ad eccezione dell'intestazione e del piè di pagina.Renders the main content area of an EditorPart control, excluding the header and footer.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.Returns a string that represents the current object.

(Ereditato da Object)

Si applica a