CatalogPartChrome Classe

Definizione

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

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

Esempi

Nell'esempio di codice riportato di seguito viene illustrato CatalogPartChrome come utilizzare la classe per eseguire l' CatalogPart override del rendering CatalogZoneBase predefinito dei controlli in una zona.The following code example demonstrates how to use the CatalogPartChrome class to override the default rendering of CatalogPart controls in a CatalogZoneBase 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 CatalogPartChrome CatalogZoneBase una zona personalizzate.A class that contains the source code for a custom CatalogPartChrome class and CatalogZoneBase 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 inoltre che la pagina fa riferimento all'area del catalogo personalizzata <aspSample:MyCatalogZone>usando l'elemento.Also note that the page references the custom catalog zone using the 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>

La terza parte dell'esempio contiene l'implementazione della parte di catalogo personalizzata Chrome e la zona di parte del catalogo.The third part of the example contains the implementation of the custom catalog part chrome and catalog part zone. MyCatalogZoneestende CatalogZone e sostituisce CreateCatalogPartChrome per restituire la parte del catalogo personalizzata Chrome.MyCatalogZone extends CatalogZone and overrides CreateCatalogPartChrome to return the custom catalog part chrome. MyCatalogPartChromemodifica il colore di sfondo del controllo Catalog nel CreateCatalogPartChromeStyle metodo.MyCatalogPartChrome changes the background color of the catalog control in the CreateCatalogPartChromeStyle method. Il colore di sfondo della zona viene modificato nel PerformPreRender metodo e il testo viene aggiunto alla parte del catalogo RenderPartContents nel metodo.The background color of the zone is changed in the PerformPreRender method, and text is added to the catalog part in the RenderPartContents method.

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

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 CatalogPartChrome la classe per eseguire il rendering CatalogPart del riquadro per i controlli.The Web Parts control set uses the CatalogPartChrome class to render the chrome for CatalogPart controls. Questa classe fornisce inoltre agli sviluppatori un modo per personalizzare il rendering di tutti CatalogPart i controlli in una CatalogZoneBase zona.Additionally, this class provides a way for developers to customize the rendering of any CatalogPart controls in a CatalogZoneBase zone. Ad esempio, è possibile eseguire l' CreateCatalogPartChromeStyle override del metodo per personalizzare alcuni attributi CatalogZoneBase di stile specifici applicati alla zona.For example, you can override the CreateCatalogPartChromeStyle method to customize some specific style attributes applied to the CatalogZoneBase zone.

La CatalogPartChrome classe contiene diversi metodi importanti che risultano utili quando si desidera eseguire l'override del CatalogPart rendering dei controlli.The CatalogPartChrome class contains several important methods that are useful when you want to override the rendering of CatalogPart controls. Uno è il CatalogPartChrome costruttore, che viene usato quando si esegue l' CreateCatalogPartChrome override del metodo in CatalogZoneBase un'area personalizzata per creare un'istanza dell' CatalogPartChrome oggetto personalizzato.One is the CatalogPartChrome constructor, which you use when you override the CreateCatalogPartChrome method in a custom CatalogZoneBase zone to create an instance of your custom CatalogPartChrome 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 CatalogPart gli aspetti del rendering dei controlli RenderCatalogPart , è possibile eseguire l'override del metodo.Finally, if you want complete programmatic control over all aspects of rendering the CatalogPart controls, you can override the RenderCatalogPart method.

Note per gli eredi

Se si eredita dalla CatalogPartChrome classe, è necessario creare un'area personalizzata CatalogZone per restituire la classe personalizzata. CatalogPartChromeIf you inherit from the CatalogPartChrome class, you must create a customized CatalogZone zone to return your customized CatalogPartChrome class. Nella sezione esempio relativa a questa panoramica della classe viene illustrato come creare CatalogZone un'area personalizzata per restituire CatalogPartChrome una classe personalizzata.The Example section for this class overview demonstrates how to create a customized CatalogZone zone to return a customized CatalogPartChrome class.

Costruttori

CatalogPartChrome(CatalogZoneBase)

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

Proprietà

Zone

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

Metodi

CreateCatalogPartChromeStyle(CatalogPart, PartChromeType)

Crea l'oggetto stile che fornisce gli attributi di stile per ciascun controllo CatalogPart di cui è stato eseguito il rendering tramite l'oggetto CatalogPartChrome.Creates the style object that supplies style attributes for each CatalogPart control rendered by the CatalogPartChrome 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 CatalogPart.Performs tasks that must be done prior to rendering CatalogPart controls.

RenderCatalogPart(HtmlTextWriter, CatalogPart)

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

RenderPartContents(HtmlTextWriter, CatalogPart)

Esegue il rendering dell'area di contenuto principale di un controllo CatalogPart, ad eccezione dell'intestazione e del piè di pagina.Renders the main content area of a CatalogPart 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

Vedi anche