CatalogPartChrome Klas

Definitie

Hiermee kunnen ontwikkelaars de weergave alleen overschrijven voor de geselecteerde secties van CatalogPart besturingselementen in een CatalogZoneBase zone.

public ref class CatalogPartChrome
public class CatalogPartChrome
type CatalogPartChrome = class
Public Class CatalogPartChrome
Overname
CatalogPartChrome

Voorbeelden

In het volgende codevoorbeeld ziet u hoe u de CatalogPartChrome klasse gebruikt om de standaardweergave van CatalogPart besturingselementen in een CatalogZoneBase zone te overschrijven.

Het codevoorbeeld heeft drie delen:

  • Een gebruikersbeheer waarmee u weergavemodi op een pagina met webonderdelen kunt wijzigen.

  • Een webpagina waarop alle besturingselementen in het voorbeeld worden gehost.

  • Een klasse die de broncode voor een aangepaste CatalogPartChrome klasse en CatalogZoneBase zone bevat.

Het eerste deel van het codevoorbeeld is het gebruikersbeheer. De broncode voor het gebruikersbeheer komt uit een ander onderwerp. Om dit codevoorbeeld te laten werken, moet u het ASCX-bestand voor het gebruikersbeheer ophalen uit het scenario: Weergavemodi wijzigen op een paginaonderwerp met webonderdelen en het bestand in dezelfde map plaatsen als de .aspx pagina in dit codevoorbeeld.

Het tweede deel van het voorbeeld is de webpagina. Houd er rekening mee dat er boven aan het bestand een Register instructie is voor het registreren van het gecompileerde onderdeel en een tagvoorvoegsel. Houd er ook rekening mee dat de pagina verwijst naar de aangepaste cataloguszone met behulp van het 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>

Het derde deel van het voorbeeld bevat de implementatie van de aangepaste catalogusonderdeel chrome en catalogusonderdeelzone. MyCatalogZone breidt CatalogZone en onderdrukkingen CreateCatalogPartChrome uit om het aangepaste catalogusonderdeel chrome te retourneren. MyCatalogPartChrome wijzigt de achtergrondkleur van het catalogusbeheer in de CreateCatalogPartChromeStyle methode. De achtergrondkleur van de zone wordt gewijzigd in de PerformPreRender methode en tekst wordt toegevoegd aan het catalogusonderdeel in de RenderPartContents methode.

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

Opmerkingen

Chrome verwijst naar de elementen van de randapparaatgebruikersinterface (UI) die elk besturingselement voor webonderdelen of serverbeheer in een zone omkaderen. Het chroom voor een besturingselement bevat de rand, de titelbalk en de pictogrammen, titeltekst en het menu werkwoorden die in de titelbalk worden weergegeven. Het uiterlijk van het chroom is ingesteld op zoneniveau en is van toepassing op alle besturingselementen in de zone.

De besturingsset webonderdelen gebruikt de CatalogPartChrome klasse om de chrome voor CatalogPart besturingselementen weer te geven. Daarnaast biedt deze klasse ontwikkelaars een manier om het weergeven van CatalogPart besturingselementen in een CatalogZoneBase zone aan te passen. U kunt bijvoorbeeld de CreateCatalogPartChromeStyle methode overschrijven om bepaalde specifieke stijlkenmerken aan te passen die op de CatalogZoneBase zone zijn toegepast.

De CatalogPartChrome klasse bevat verschillende belangrijke methoden die handig zijn als u het weergeven van CatalogPart besturingselementen wilt overschrijven. Een is de CatalogPartChrome constructor die u gebruikt wanneer u de CreateCatalogPartChrome methode in een aangepaste CatalogZoneBase zone overschrijft om een exemplaar van uw aangepaste CatalogPartChrome object te maken. Een andere handige methode is de RenderPartContents methode die u kunt gebruiken om het weergeven van het inhoudsgebied van besturingselementen in een zone te beheren (in tegenstelling tot chrome-elementen zoals kopteksten, voetteksten en titelbalken). Ten slotte kunt u de methode overschrijven als u volledige programmatische controle wilt over alle aspecten van het weergeven van de CatalogPartRenderCatalogPart besturingselementen.

Notities voor overnemers

Als u de CatalogPartChrome klasse overgeeft, moet u een aangepaste CatalogZone zone maken om de aangepaste CatalogPartChrome klasse te retourneren. In de sectie Voorbeeld voor dit klasseoverzicht ziet u hoe u een aangepaste CatalogZone zone maakt om een aangepaste CatalogPartChrome klasse te retourneren.

Constructors

Name Description
CatalogPartChrome(CatalogZoneBase)

Initialiseert een nieuw exemplaar van de CatalogPartChrome klasse.

Eigenschappen

Name Description
Zone

Hiermee wordt een verwijzing naar de gekoppelde CatalogZoneBase zone opgehaald.

Methoden

Name Description
CreateCatalogPartChromeStyle(CatalogPart, PartChromeType)

Hiermee maakt u het stijlobject dat stijlkenmerken levert voor elk CatalogPart besturingselement dat door het CatalogPartChrome object wordt weergegeven.

Equals(Object)

Bepaalt of het opgegeven object gelijk is aan het huidige object.

(Overgenomen van Object)
GetHashCode()

Fungeert als de standaardhashfunctie.

(Overgenomen van Object)
GetType()

Hiermee haalt u de Type huidige instantie op.

(Overgenomen van Object)
MemberwiseClone()

Hiermee maakt u een ondiepe kopie van de huidige Object.

(Overgenomen van Object)
PerformPreRender()

Voert taken uit die moeten worden uitgevoerd voordat u besturingselementen weer geeft CatalogPart .

RenderCatalogPart(HtmlTextWriter, CatalogPart)

Geeft een volledig CatalogPart besturingselement weer met alle bijbehorende secties.

RenderPartContents(HtmlTextWriter, CatalogPart)

Hiermee wordt het hoofdinhoudsgebied van een CatalogPart besturingselement weergegeven, met uitzondering van de kop- en voettekst.

ToString()

Retourneert een tekenreeks die het huidige object vertegenwoordigt.

(Overgenomen van Object)

Van toepassing op

Zie ook