EditorPartChrome Sınıf

Tanım

Geliştiricilerin yalnızca bir EditorPart bölgedeki denetimlerin seçili bölümleri için işlemeyi geçersiz kılabilmesini EditorZoneBase 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 EditorPartChrome bölgedeki denetimlerin varsayılan işlemesini EditorPartEditorZoneBase 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ü 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 konu başlığından gelir. Bu kod örneğinin çalışması için , İzlenecek Yol: Web Bölümleri Sayfasında Görüntüleme 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. Derlenen 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ü chrome ve düzenleyici bölüm bölgesinin uygulanmasını içerir. MyEditorZone EditorZone özel düzenleyici bölümü chrome'unu 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, bir bölgede yer alan her Web Bölümü denetimini veya 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, denetimler için kromu işlemek için EditorPartChrome sınıfını kullanırEditorPart. 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 CreateEditorPartChromeStyle bazı belirli stil özniteliklerini özelleştirmek için yöntemini geçersiz kılabilirsinizEditorZoneBase.

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 CreateEditorPartChrome bir sınıfta yöntemini geçersiz kılarken EditorZoneBase kullandığınız oluşturucudur.EditorPartChrome Bir diğer kullanışlı yöntem, bir bölgedeki denetimlerin içerik alanının işlenmesini denetlemek için kullanabileceğiniz yöntemdir RenderPartContents (üst bilgiler, alt bilgiler 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ı döndürmek için özelleştirilmiş EditorZoneEditorPartChrome 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 EditorZone için özelleştirilmiş EditorPartChrome bir bölgenin nasıl oluşturulacağı gösterilmektedir

Oluşturucular

Name Description
EditorPartChrome(EditorZoneBase)

EditorPartChrome sınıfının yeni bir örneğini başlatır.

Özellikler

Name Description
Zone

İlişkili EditorZoneBase bölgeye başvuru alır.

Yöntemler

Name Description
CreateEditorPartChromeStyle(EditorPart, PartChromeType)

Nesne tarafından EditorPart işlenen her EditorPartChrome 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()

Geçerli örneğin Type alır.

(Devralındığı yer: Object)
MemberwiseClone()

Geçerli Objectbasit bir kopyasını oluşturur.

(Devralındığı yer: Object)
PerformPreRender()

İşleme denetimlerinden önce EditorPart 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 bir dize döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır