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


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> веб-страницы.

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

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