EditorPartChrome Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Hiermee kunnen ontwikkelaars de weergave alleen overschrijven voor de geselecteerde secties van EditorPart besturingselementen in een EditorZoneBase zone.
public ref class EditorPartChrome
public class EditorPartChrome
type EditorPartChrome = class
Public Class EditorPartChrome
- Overname
-
EditorPartChrome
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u de EditorPartChrome klasse gebruikt om de standaardweergave van EditorPart besturingselementen in een EditorZoneBase 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 EditorPartChrome klasse en EditorZoneBase 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 editorzone met behulp van het 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>
Het derde deel van het voorbeeld bevat de implementatie van het aangepaste editoronderdeel chrome en de editor-onderdeelzone.
MyEditorZone breidt EditorZone en onderdrukkingen CreateEditorPartChrome uit om het aangepaste editoronderdeel chrome te retourneren.
MyEditorPartChrome wijzigt de achtergrondkleur van het besturingselement editordeel in de CreateEditorPartChromeStyle methode. De achtergrondkleur van de zone wordt gewijzigd in de PerformPreRender methode en tekst wordt toegevoegd aan het editoronderdeel in de RenderPartContents methode.
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
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 EditorPartChrome klasse om de chrome voor EditorPart besturingselementen weer te geven. Daarnaast biedt deze klasse ontwikkelaars een manier om het weergeven van EditorPart besturingselementen in een EditorZoneBase zone aan te passen. U kunt bijvoorbeeld de CreateEditorPartChromeStyle methode overschrijven om bepaalde specifieke stijlkenmerken aan te passen die in de EditorZoneBase zone zijn gedefinieerd.
De EditorPartChrome klasse bevat verschillende belangrijke methoden die handig zijn als u het weergeven van EditorPart besturingselementen wilt overschrijven. Een is de EditorPartChrome constructor die u gebruikt wanneer u de CreateEditorPartChrome methode in een aangepaste EditorZoneBase klasse overschrijft om een exemplaar van uw aangepaste EditorPartChrome 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 EditorPartRenderEditorPart besturingselementen.
Notities voor overnemers
Als u de EditorPartChrome klasse overgeeft, moet u een aangepaste EditorZone zone maken om de aangepaste EditorPartChrome klasse te retourneren. In de sectie Voorbeeld van dit klasseoverzicht ziet u hoe u een aangepaste EditorZone zone maakt om een aangepaste EditorPartChrome klasse te retourneren
Constructors
| Name | Description |
|---|---|
| EditorPartChrome(EditorZoneBase) |
Initialiseert een nieuw exemplaar van de EditorPartChrome klasse. |
Eigenschappen
| Name | Description |
|---|---|
| Zone |
Hiermee wordt een verwijzing naar de gekoppelde EditorZoneBase zone opgehaald. |
Methoden
| Name | Description |
|---|---|
| CreateEditorPartChromeStyle(EditorPart, PartChromeType) |
Hiermee maakt u het stijlobject dat stijlkenmerken levert voor elk EditorPart besturingselement dat door het EditorPartChrome 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 EditorPart . |
| RenderEditorPart(HtmlTextWriter, EditorPart) |
Geeft een volledig EditorPart besturingselement weer met alle bijbehorende secties. |
| RenderPartContents(HtmlTextWriter, EditorPart) |
Hiermee wordt het hoofdinhoudsgebied van een EditorPart besturingselement weergegeven, met uitzondering van de kop- en voettekst. |
| ToString() |
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |