EditorPartChrome Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Umožňuje vývojářům přepsat vykreslování jenom pro vybrané části ovládacích EditorPart prvků v EditorZoneBase zóně.
public ref class EditorPartChrome
public class EditorPartChrome
type EditorPartChrome = class
Public Class EditorPartChrome
- Dědičnost
-
EditorPartChrome
Příklady
Následující příklad kódu ukazuje, jak pomocí EditorPartChrome třídy přepsat výchozí vykreslování ovládacích EditorPart prvků v EditorZoneBase zóně.
Příklad kódu má tři části:
Uživatelský ovládací prvek, který umožňuje změnit režimy zobrazení na Webové části stránce.
Webová stránka, která je hostitelem všech ovládacích prvků v příkladu.
Třída, která obsahuje zdrojový kód pro vlastní EditorPartChrome třídu a EditorZoneBase zónu.
První část příkladu kódu je uživatelský ovládací prvek. Zdrojový kód uživatelského ovládacího prvku pochází z jiného tématu. Aby tento příklad kódu fungoval, musíte získat soubor .ascx pro uživatelský ovládací prvek z návodu: Změna režimů zobrazení v tématu stránky Webové části a umístit soubor do stejné složky jako stránka .aspx v tomto příkladu kódu.
Druhá část příkladu je webová stránka. Všimněte si, že v horní části souboru existuje direktiva Register
pro registraci kompilované komponenty a předpony značky. Všimněte si také, že stránka odkazuje na vlastní zónu editoru pomocí elementu <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>
Třetí část příkladu obsahuje implementaci vlastní části editoru chrome a zóny částí editoru. MyEditorZone
rozšiřuje a přepisuje EditorZone CreateEditorPartChrome , aby se vrátil chrome vlastních částí editoru. MyEditorPartChrome
změní barvu pozadí ovládacího prvku části editoru CreateEditorPartChromeStyle v metodě. Barva pozadí zóny se v PerformPreRender metodě změní a text se přidá do části editoru v RenderPartContents metodě.
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
Poznámky
Chrome odkazuje na prvky uživatelského rozhraní periferního zařízení, které zarámují jednotlivé ovládací prvky Webové části nebo ovládací prvek serveru obsažené v zóně. Chrome ovládacího prvku obsahuje jeho ohraničení, záhlaví a ikony, text nadpisu a nabídku sloves, která se zobrazí v záhlaví. Vzhled chromu je nastavený na úrovni zóny a vztahuje se na všechny ovládací prvky v zóně.
Sada ovládacích prvků Webové části používá EditorPartChrome třídu k vykreslení chromu pro EditorPart ovládací prvky. Kromě toho tato třída poskytuje vývojářům způsob, jak přizpůsobit vykreslování všech EditorPart ovládacích prvků v EditorZoneBase zóně. Můžete například přepsat metodu CreateEditorPartChromeStyle tak, aby přizpůsobila určité atributy stylu definované v EditorZoneBase zóně.
Třída EditorPartChrome obsahuje několik důležitých metod, které jsou užitečné, když chcete přepsat vykreslování ovládacích EditorPart prvků. Jednou je EditorPartChrome konstruktor, který použijete při přepsání CreateEditorPartChrome metody ve vlastní EditorZoneBase třídě k vytvoření instance vlastního EditorPartChrome objektu. Další užitečnou metodou je RenderPartContents metoda, kterou můžete použít k řízení vykreslování oblasti obsahu ovládacích prvků v zóně (na rozdíl od prvků chromu, jako jsou záhlaví, zápatí a záhlaví). Pokud chcete dokončit programovou kontrolu nad všemi aspekty vykreslování EditorPart ovládacích prvků, můžete metodu RenderEditorPart přepsat.
Poznámky pro dědice
Pokud dědíte z třídy, musíte vytvořit přizpůsobenou EditorZone zónu EditorPartChrome pro vrácení přizpůsobené EditorPartChrome třídy. Část Příklad této třídy přehled ukazuje, jak vytvořit přizpůsobenou EditorZone zónu pro vrácení přizpůsobené EditorPartChrome třídy.
Konstruktory
EditorPartChrome(EditorZoneBase) |
Inicializuje novou instanci EditorPartChrome třídy. |
Vlastnosti
Zone |
Získá odkaz na přidruženou EditorZoneBase zónu. |
Metody
CreateEditorPartChromeStyle(EditorPart, PartChromeType) |
Vytvoří objekt stylu, který poskytuje atributy stylu pro každý EditorPart ovládací prvek vykreslený objektem EditorPartChrome . |
Equals(Object) |
Určí, zda se zadaný objekt rovná aktuálnímu objektu. (Zděděno od Object) |
GetHashCode() |
Slouží jako výchozí funkce hash. (Zděděno od Object) |
GetType() |
Type Získá aktuální instanci. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří použádnou kopii aktuálního souboru Object. (Zděděno od Object) |
PerformPreRender() |
Provádí úlohy, které je potřeba provést před vykreslováním EditorPart ovládacích prvků. |
RenderEditorPart(HtmlTextWriter, EditorPart) |
Vykreslí úplný EditorPart ovládací prvek se všemi jeho oddíly. |
RenderPartContents(HtmlTextWriter, EditorPart) |
Vykreslí hlavní oblast EditorPart obsahu ovládacího prvku s výjimkou záhlaví a zápatí. |
ToString() |
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |