Udostępnij za pośrednictwem


IStyleSheet Interfejs

Definicja

Definiuje metody, które klasa musi zaimplementować w celu obsługi tworzenia reguł stylu.

public interface class IStyleSheet
public interface IStyleSheet
type IStyleSheet = interface
Public Interface IStyleSheet

Przykłady

Poniższy przykład kodu używa Header implementacji IStyleSheet programu , aby zademonstrować programowe tworzenie nowej reguły stylu i rejestrowanie obiektu niestandardowego Style .

W pierwszej części przykładu tworzony jest obiekt niestandardowy Style , labelStylea następnie zarejestrowany dla bieżącej lokalizacji (URL). Następnie etykieta label1 wywołuje metodę MergeStyle , aby labelStyle styl został zastosowany do label1 etykiety.

Druga część przykładu definiuje inny obiekt bodyStyleniestandardowy Style i ustawia jego właściwości w celu utworzenia nowej reguły stylu.

Uwaga

Ta klasa jest przeznaczona głównie dla deweloperów, którzy chcą utworzyć niestandardową implementację. W tym przykładzie pokazano implementację dostarczaną przez program .NET Framework.

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="istylesheetcs.aspx.cs" Inherits="istylesheetcs" %>

<!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>IStyleSheet Example</title>
</head>    
<body>
    <form id="form1" runat="server">
        <h1>IStyleSheet Example</h1>
        <asp:Label 
          id="label1" 
          runat="server">
        </asp:Label>
        <br /><br />
        <asp:Label 
          id="label2" 
          runat="server">
        </asp:Label>
    </form>
  </body>
</html>
<%@ Page Language="VB" AutoEventWireup="true" CodeFile="istylesheetvb.aspx.vb" Inherits="istylesheetvb" %>

<!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>IStyleSheet Example</title>
</head>
<body>
    <form id="form1" runat="server">
        <h1>IStyleSheet Example</h1>
        <asp:Label 
          id="label1" 
          runat="server">
        </asp:Label>
        <br /><br />
        <asp:Label 
          id="label2" 
          runat="server">
        </asp:Label>
    </form>
  </body>
</html>

Poniżej znajduje się plik związany z kodem dla strony sieci Web w poprzednim przykładzie.

public partial class istylesheetcs : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // Create a Style object to hold style rules to apply to a Label control.
        Style labelStyle = new Style();

        labelStyle.ForeColor = System.Drawing.Color.DarkRed;
        labelStyle.BorderColor = System.Drawing.Color.DarkBlue;
        labelStyle.BorderWidth = 2;

        // Register the Style object so that it can be merged with 
        // the Style object of the controls that use it.
        Page.Header.StyleSheet.RegisterStyle(labelStyle, null);

        // Merge the labelCssStyle style with the label1 control's
        // style settings.
        label1.MergeStyle(labelStyle);
        label1.Text = "This is what the labelCssStyle looks like.";

        // Create a Style object for the <BODY> section of the Web page.
        Style bodyStyle = new Style();

        bodyStyle.ForeColor = System.Drawing.Color.Blue;
        bodyStyle.BackColor = System.Drawing.Color.LightGray;

        // Add the style to the header of the current page.
        Page.Header.StyleSheet.CreateStyleRule(bodyStyle, null, "BODY");

        // Add text to the label2 control to see the label without 
        // the labelStyle applied to it.  
        label2.Text = "This is what the bodyStyle looks like.";
    }
}

Uwagi

Klasy implementujące ten interfejs mogą używać go do obsługi tworzenia reguł stylów.

Aby dostosować sposób tworzenia kaskadowych arkuszy stylów i ich rejestrowania, należy utworzyć klasę, która implementuje ten interfejs.

Klasa HtmlHead implementuje ten interfejs do użycia przez ASP.NET za pośrednictwem Header właściwości .

Uwaga

Programowe dodawanie lub modyfikowanie stylów lub reguł stylów podczas asynchronicznych ogłaszania zwrotnego nie jest obsługiwane. Po dodaniu możliwości AJAX do strony internetowej ASP.NET asynchroniczne ogłaszanie zwrotne aktualizuje regiony strony bez aktualizowania całej strony. Aby uzyskać więcej informacji, zobacz Microsoft Ajax Overview (Omówienie usługi Microsoft Ajax).

Metody

CreateStyleRule(Style, IUrlResolutionService, String)

Po zaimplementowaniu przez klasę tworzy regułę stylu dla określonego typu elementu języka dokumentu lub selektora.

RegisterStyle(Style, IUrlResolutionService)

Po zaimplementowaniu przez klasę dodaje nową regułę stylu do osadzonego arkusza stylów w <head> sekcji strony sieci Web.

Dotyczy

Zobacz też