EditorPartChrome Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geliştiricilerin yalnızca bir EditorZoneBase bölgedeki denetimlerin seçili bölümleri için işlemeyi geçersiz kılabilmesini EditorPart sağlar.
public ref class EditorPartChrome
public class EditorPartChrome
type EditorPartChrome = class
Public Class EditorPartChrome
- Devralma
-
EditorPartChrome
Örnekler
Aşağıdaki kod örneği, bir EditorZoneBase bölgedeki denetimlerin varsayılan işlemesini EditorPartChrome EditorPart geçersiz kılmak için sınıfının nasıl kullanılacağını gösterir.
Kod örneğinin üç bölümü vardır:
Web Bölümleri sayfasındaki görüntüleme modlarını değiştirmenize olanak tanıyan bir kullanıcı denetimi.
Örnekteki tüm denetimleri barındıran bir Web sayfası.
Özel EditorPartChrome bir sınıf ve EditorZoneBase bölge için kaynak kodu içeren bir sınıf.
Kod örneğinin ilk bölümü kullanıcı denetimidir. Kullanıcı denetiminin kaynak kodu başka bir konudan gelir. Bu kod örneğinin çalışması için, İzlenecek Yol: Web Bölümleri Sayfasındaki Görüntü Modlarını Değiştirme konusundan kullanıcı denetimi için .ascx dosyasını edinmeniz ve dosyayı bu kod örneğindeki .aspx sayfasıyla aynı klasöre yerleştirmeniz gerekir.
Örneğin ikinci bölümü Web sayfasıdır. Derlenmiş bileşeni ve etiket ön ekini kaydetmek için dosyanın üst kısmına yakın bir yönerge olduğunu Register
unutmayın. Ayrıca, sayfanın öğesini <aspSample:MyEditorZone>
kullanarak özel düzenleyici bölgesine başvurduğunu unutmayın.
<%@ 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>
Örneğin üçüncü bölümü, özel düzenleyici bölümünün chrome ve düzenleyici bölümü bölgesinin uygulanmasını içerir. MyEditorZone
EditorZone özel düzenleyici bölümü chrome'u döndürmek için genişletir ve geçersiz kılarCreateEditorPartChrome. MyEditorPartChrome
yöntemindeki düzenleyici bölümü denetiminin CreateEditorPartChromeStyle arka plan rengini değiştirir. Yönteminde bölgenin arka plan rengi değiştirilir PerformPreRender ve metin yöntemindeki düzenleyici bölümüne RenderPartContents eklenir.
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
Açıklamalar
Chrome, her Web Bölümleri denetimini veya bir bölgede bulunan sunucu denetimini çerçeveleyen çevre birimi kullanıcı arabirimi (UI) öğelerini ifade eder. Denetimin kromu kenarlığını, başlık çubuğunu ve başlık çubuğunda görünen simgeleri, başlık metnini ve fiil menüsünü içerir. Kromun görünümü bölge düzeyinde ayarlanır ve bölgedeki tüm denetimler için geçerlidir.
Web Bölümleri denetim kümesi, denetimlerin chrome'unu EditorPartChrome işlemek için EditorPart sınıfını kullanır. Ayrıca, bu sınıf geliştiricilerin bir bölgedeki denetimlerin EditorPart işlenmesini özelleştirmesi için bir EditorZoneBase yol sağlar. Örneğin, bölgede tanımlanan EditorZoneBase bazı belirli stil özniteliklerini özelleştirmek için yöntemini geçersiz kılabilirsinizCreateEditorPartChromeStyle.
sınıfı, EditorPartChrome denetimlerin işlenmesini EditorPart geçersiz kılmak istediğinizde yararlı olan birkaç önemli yöntem içerir. Biri, özel nesnenizin bir örneğini EditorPartChrome oluşturmak için özel EditorZoneBase bir sınıfta yöntemini geçersiz kılarken CreateEditorPartChrome kullandığınız oluşturucudur.EditorPartChrome Bir diğer kullanışlı yöntem de bir bölgedeki denetimlerin içerik alanının işlenmesini denetlemek için kullanabileceğiniz yöntemdir RenderPartContents (üst bilgiler, altbilgiler ve başlık çubukları gibi chrome öğelerinin aksine). Son olarak, denetimleri işlemenin EditorPart tüm yönleri üzerinde tam programlı denetim istiyorsanız yöntemini geçersiz kılabilirsiniz RenderEditorPart .
Devralanlara Notlar
Sınıfından EditorPartChrome devralırsanız, özelleştirilmiş sınıfınızı EditorPartChrome döndürmek için özelleştirilmiş EditorZone bir bölge oluşturmanız gerekir. Bu sınıfa genel bakışın Örnek bölümünde, özelleştirilmiş bir sınıf döndürmek için özelleştirilmiş EditorZone bir EditorPartChrome bölgenin nasıl oluşturulacağı gösterilmektedir
Oluşturucular
EditorPartChrome(EditorZoneBase) |
EditorPartChrome sınıfının yeni bir örneğini başlatır. |
Özellikler
Zone |
İlişkili EditorZoneBase bölgeye başvuru alır. |
Yöntemler
CreateEditorPartChromeStyle(EditorPart, PartChromeType) |
Nesne tarafından EditorPartChrome işlenen her EditorPart denetim için stil öznitelikleri sağlayan stil nesnesini oluşturur. |
Equals(Object) |
Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler. (Devralındığı yer: Object) |
GetHashCode() |
Varsayılan karma işlevi işlevi görür. (Devralındığı yer: Object) |
GetType() |
Type Geçerli örneğini alır. (Devralındığı yer: Object) |
MemberwiseClone() |
Geçerli Objectöğesinin sığ bir kopyasını oluşturur. (Devralındığı yer: Object) |
PerformPreRender() |
Denetimleri işlemeden EditorPart önce yapılması gereken görevleri gerçekleştirir. |
RenderEditorPart(HtmlTextWriter, EditorPart) |
Tüm bölümleriyle tam EditorPart bir denetim oluşturur. |
RenderPartContents(HtmlTextWriter, EditorPart) |
Üst bilgi ve alt bilgi hariç bir denetimin ana içerik alanını EditorPart işler. |
ToString() |
Geçerli nesneyi temsil eden dizeyi döndürür. (Devralındığı yer: Object) |