Aracılığıyla paylaş


EditorPartChrome Sınıf

Tanım

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. MyEditorZoneEditorZone ö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)

Şunlara uygulanır