CatalogPartChrome Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memungkinkan pengembang untuk mengambil alih penyajian hanya untuk bagian CatalogPart kontrol yang dipilih di zona CatalogZoneBase .
public ref class CatalogPartChrome
public class CatalogPartChrome
type CatalogPartChrome = class
Public Class CatalogPartChrome
- Warisan
-
CatalogPartChrome
Contoh
Contoh kode berikut menunjukkan cara menggunakan CatalogPartChrome kelas untuk mengambil alih penyajian CatalogPart kontrol default di zona CatalogZoneBase .
Contoh kode memiliki tiga bagian:
Kontrol pengguna yang memungkinkan Anda mengubah mode tampilan pada halaman Bagian Web.
Halaman Web yang menghosting semua kontrol dalam contoh.
Kelas yang berisi kode sumber untuk kelas dan CatalogZoneBase zona kustomCatalogPartChrome.
Bagian pertama dari contoh kode adalah kontrol pengguna. Kode sumber untuk kontrol pengguna berasal dari topik lain. Agar contoh kode ini berfungsi, Anda perlu mendapatkan file .ascx untuk kontrol pengguna dari Panduan: Mengubah Mode Tampilan pada topik Halaman Bagian Web , dan menempatkan file di folder yang sama dengan halaman .aspx dalam contoh kode ini.
Bagian kedua dari contoh adalah halaman Web. Perhatikan bahwa ada direktif Register
di dekat bagian atas file untuk mendaftarkan komponen yang dikompilasi dan awalan tag. Perhatikan juga bahwa halaman mereferensikan zona katalog kustom menggunakan elemen <aspSample:MyCatalogZone>
.
<%@ 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>
Bagian ketiga dari contoh berisi implementasi chrome bagian katalog kustom dan zona bagian katalog.
MyCatalogZone
CatalogZone memperluas dan mengambil CreateCatalogPartChrome alih untuk mengembalikan chrome bagian katalog kustom.
MyCatalogPartChrome
mengubah warna latar belakang kontrol katalog dalam CreateCatalogPartChromeStyle metode . Warna latar belakang zona diubah dalam PerformPreRender metode , dan teks ditambahkan ke bagian katalog dalam RenderPartContents metode .
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
Keterangan
Chrome mengacu pada elemen antarmuka pengguna periferal (UI) yang membingkai setiap kontrol Bagian Web atau kontrol server yang terkandung dalam zona. Chrome untuk kontrol mencakup batasnya, bilah judulnya, dan ikon, teks judul, dan menu kata kerja yang muncul di dalam bilah judul. Tampilan chrome diatur pada tingkat zona, dan berlaku untuk semua kontrol di zona tersebut.
Set kontrol Bagian Web menggunakan CatalogPartChrome kelas untuk merender chrome untuk CatalogPart kontrol. Selain itu, kelas ini menyediakan cara bagi pengembang untuk menyesuaikan penyajian kontrol apa pun CatalogPart di zona CatalogZoneBase . Misalnya, Anda dapat mengambil CreateCatalogPartChromeStyle alih metode untuk menyesuaikan beberapa atribut gaya tertentu yang diterapkan ke zona tersebut CatalogZoneBase .
Kelas CatalogPartChrome berisi beberapa metode penting yang berguna ketika Anda ingin mengambil alih penyajian CatalogPart kontrol. Salah satunya adalah CatalogPartChrome konstruktor, yang Anda gunakan saat mengambil alih CreateCatalogPartChrome metode di zona kustom CatalogZoneBase untuk membuat instans objek kustom CatalogPartChrome Anda. Metode lain yang berguna adalah RenderPartContents metode , yang dapat Anda gunakan untuk mengontrol penyajian area konten kontrol di zona (dibandingkan dengan elemen chrome seperti header, footer, dan bilah judul). Terakhir, jika Anda ingin kontrol terprogram penuh atas semua aspek penyajian CatalogPart kontrol, Anda dapat mengambil alih metode .RenderCatalogPart
Catatan Bagi Inheritor
Jika Anda mewarisi dari CatalogPartChrome kelas , Anda harus membuat zona yang disesuaikan CatalogZone untuk mengembalikan kelas yang disesuaikan CatalogPartChrome . Bagian Contoh untuk gambaran umum kelas ini menunjukkan cara membuat zona yang dikustomisasi CatalogZone untuk mengembalikan kelas yang disesuaikan CatalogPartChrome .
Konstruktor
CatalogPartChrome(CatalogZoneBase) |
Menginisialisasi instans baru kelas CatalogPartChrome. |
Properti
Zone |
Mendapatkan referensi ke zona terkait CatalogZoneBase . |
Metode
CreateCatalogPartChromeStyle(CatalogPart, PartChromeType) |
Membuat objek gaya yang memasok atribut gaya untuk setiap CatalogPart kontrol yang CatalogPartChrome dirender oleh objek. |
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetType() |
Mendapatkan dari instans Type saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari saat ini Object. (Diperoleh dari Object) |
PerformPreRender() |
Melakukan tugas yang harus dilakukan sebelum merender CatalogPart kontrol. |
RenderCatalogPart(HtmlTextWriter, CatalogPart) |
Merender kontrol penuh CatalogPart dengan semua bagiannya. |
RenderPartContents(HtmlTextWriter, CatalogPart) |
Merender area CatalogPart konten utama kontrol, tidak termasuk header dan footer. |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |