CatalogPartChrome Sınıf

Tanım

Geliştiricilerin yalnızca bir CatalogZoneBase bölgedeki denetimlerin seçili bölümleri için işlemeyi geçersiz kılabilmesini CatalogPart sağlar.

public ref class CatalogPartChrome
public class CatalogPartChrome
type CatalogPartChrome = class
Public Class CatalogPartChrome
Devralma
CatalogPartChrome

Örnekler

Aşağıdaki kod örneği, bir bölgedeki denetimlerin CatalogZoneBase varsayılan işlenmesini CatalogPartChromeCatalogPart 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 CatalogPartChrome bir sınıf ve CatalogZoneBase bölge için kaynak kodunu 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. 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:MyCatalogZone>kullanarak özel katalog 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:MyCatalogZone ID="CatalogZone1" runat="server">
      <ZoneTemplate>
          <asp:ImportCatalogPart ID="ImportCatalog" runat="server" />
      </ZoneTemplate>
    </aspSample:MyCatalogZone>
      </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:MyCatalogZone ID="CatalogZone1" runat="server">
      <ZoneTemplate>
          <asp:ImportCatalogPart ID="ImportCatalog" runat="server" />
      </ZoneTemplate>
    </aspSample:MyCatalogZone>
      </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 katalog bölümü chrome ve katalog bölüm bölgesinin uygulanmasını içerir. MyCatalogZone CatalogZone özel katalog bölümü chrome'unu döndürmek için genişletir ve geçersiz kılarCreateCatalogPartChrome. MyCatalogPartChrome , yöntemindeki katalog denetiminin CreateCatalogPartChromeStyle arka plan rengini değiştirir. Yönteminde bölgenin arka plan rengi değiştirilir PerformPreRender ve metin yöntemindeki katalog bölümüne RenderPartContents eklenir.

namespace Samples.AspNet.CS.Controls
{

    /// <summary>
    /// Summary description for source
    /// </summary>
    public class MyCatalogPartChrome : CatalogPartChrome
    {
        public MyCatalogPartChrome(CatalogZoneBase zone)
            : base(zone)
        {
        }

        protected override Style  CreateCatalogPartChromeStyle(CatalogPart catalogPart, PartChromeType chromeType)
        {
            Style catalogStyle = base.CreateCatalogPartChromeStyle(catalogPart, chromeType);
            catalogStyle.BackColor = Color.Bisque;
            return catalogStyle;
        }

        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, CatalogPart catalogPart)
        {
            writer.AddStyleAttribute("color", "red");
            writer.RenderBeginTag("p");
            writer.Write("Apply all changes");
            writer.RenderEndTag();
            catalogPart.RenderControl(writer);
        }

        public override void  RenderCatalogPart(HtmlTextWriter writer, CatalogPart catalogPart)
        {
            base.RenderCatalogPart(writer, catalogPart);
        }
    }

    public class MyCatalogZone : CatalogZone
    {
        protected override CatalogPartChrome  CreateCatalogPartChrome()
        {
            return new MyCatalogPartChrome(this);
        }
    }
}
Namespace Samples.AspNet.VB.Controls


    Public Class MyCatalogPartChrome
        Inherits CatalogPartChrome

        Public Sub New(ByVal zone As CatalogZoneBase)
            MyBase.New(zone)
        End Sub

        Protected Overrides Function CreateCatalogPartChromeStyle(ByVal catalogPart As System.Web.UI.WebControls.WebParts.CatalogPart, ByVal chromeType As System.Web.UI.WebControls.WebParts.PartChromeType) As System.Web.UI.WebControls.Style
            Dim editorStyle As Style
            editorStyle = MyBase.CreateCatalogPartChromeStyle(catalogPart, 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 catalogPart As System.Web.UI.WebControls.WebParts.CatalogPart)
            writer.AddStyleAttribute("color", "red")
            writer.RenderBeginTag("p")
            writer.Write("Apply all changes")
            writer.RenderEndTag()
            catalogPart.RenderControl(writer)
        End Sub

        Public Overrides Sub RenderCatalogPart(ByVal writer As System.Web.UI.HtmlTextWriter, ByVal catalogPart As System.Web.UI.WebControls.WebParts.CatalogPart)
            MyBase.RenderCatalogPart(writer, catalogPart)
        End Sub
    End Class

    Public Class MyCatalogZone
        Inherits CatalogZone

        Protected Overrides Function CreateCatalogPartChrome() As System.Web.UI.WebControls.WebParts.CatalogPartChrome
            Return New MyCatalogPartChrome(Me)
        End Function
    End Class
End Namespace

Açıklamalar

Chrome, bir bölgede bulunan 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 CatalogPart sınıfını kullanırCatalogPartChrome. Ayrıca, bu sınıf geliştiricilerin bir bölgedeki denetimlerin CatalogPart işlenmesini özelleştirmesi için bir CatalogZoneBase yol sağlar. Örneğin, bölgeye uygulanan bazı belirli stil özniteliklerini özelleştirmek için CatalogZoneBase yöntemini geçersiz kılabilirsinizCreateCatalogPartChromeStyle.

sınıfı, CatalogPartChrome denetimlerin işlenmesini CatalogPart geçersiz kılmak istediğinizde yararlı olan birkaç önemli yöntem içerir. CatalogPartChrome Biri, özel nesnenizin CatalogPartChrome bir örneğini oluşturmak için özel CatalogZoneBase bir bölgede yöntemini geçersiz kılarken CreateCatalogPartChrome kullandığınız oluşturucudur. 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 bilgi, alt bilgi ve başlık çubukları gibi krom öğelerinin aksine). Son olarak, denetimleri işlemenin CatalogPart tüm yönleri üzerinde tam programlı denetim istiyorsanız, yöntemini geçersiz kılabilirsiniz RenderCatalogPart .

Devralanlara Notlar

Sınıfından CatalogPartChrome devralırsanız, özelleştirilmiş sınıfınızı CatalogPartChrome döndürmek için özelleştirilmiş CatalogZone bir bölge oluşturmanız gerekir. Bu sınıfa genel bakış için Örnek bölümünde, özelleştirilmiş bir sınıfı döndürmek için özelleştirilmiş CatalogZone bir CatalogPartChrome bölgenin nasıl oluşturulacağı gösterilmektedir.

Oluşturucular

CatalogPartChrome(CatalogZoneBase)

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

Özellikler

Zone

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

Yöntemler

CreateCatalogPartChromeStyle(CatalogPart, PartChromeType)

Nesne tarafından CatalogPartChrome işlenen her CatalogPart 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 CatalogPart önce yapılması gereken görevleri gerçekleştirir.

RenderCatalogPart(HtmlTextWriter, CatalogPart)

Tüm bölümleriyle tam CatalogPart bir denetim oluşturur.

RenderPartContents(HtmlTextWriter, CatalogPart)

Üst bilgi ve alt bilgi hariç, denetimin CatalogPart ana içerik alanını işler.

ToString()

Geçerli nesneyi temsil eden dizeyi döndürür.

(Devralındığı yer: Object)

Şunlara uygulanır

Ayrıca bkz.