Поделиться через


IStyleSheet Интерфейс

Определение

Определяет методы, которые класс должен реализовывать для поддержки создания правил стиля.

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

Примеры

В следующем примере кода используется Header реализация для демонстрации IStyleSheet программного создания нового правила стиля и регистрации пользовательского Style объекта.

В первой части примера создается пользовательский Style объект labelStyle, а затем регистрируется для текущего расположения (URL-адреса). label1 Затем метка вызывает MergeStyle метод, чтобы labelStyle стиль применялся к label1 метки.

Вторая часть примера определяет другой пользовательский Style объект и bodyStyleзадает его свойства для создания нового правила стиля.

Замечание

Этот класс предназначен в первую очередь для разработчиков, которые хотят создать пользовательскую реализацию. В этом примере демонстрируется реализация, предоставляемая платформой .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>

Ниже приведен файл программной части для веб-страницы в предыдущем примере.

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.";
    }
}

Комментарии

Классы, реализующие этот интерфейс, могут использовать его для поддержки создания правил стиля.

Чтобы настроить способ создания и регистрации каскадных таблиц стилей, необходимо создать класс, реализующий этот интерфейс.

Класс HtmlHead реализует этот интерфейс для использования ASP.NET через Header свойство.

Замечание

Добавление или изменение стилей или правил стилей программным способом во время асинхронной обратной передачи не поддерживается. При добавлении возможностей AJAX на веб-страницу ASP.NET асинхронная обратная связь обновляет области страницы без обновления всей страницы. Дополнительные сведения см. в обзоре Microsoft Ajax.

Методы

Имя Описание
CreateStyleRule(Style, IUrlResolutionService, String)

При реализации класса создает правило стиля для указанного типа элемента языка документа или селектора.

RegisterStyle(Style, IUrlResolutionService)

При реализации класса добавляет новое правило стиля в внедренную таблицу стилей в <head> разделе веб-страницы.

Применяется к

См. также раздел