Compartilhar via


IStyleSheet Interface

Definição

Define os métodos que uma classe deve implementar para dar suporte à criação de regras de estilo.

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

Exemplos

O exemplo de código a seguir usa a Header implementação de IStyleSheet para demonstrar programaticamente a criação de uma nova regra de estilo e o registro do objeto personalizado Style .

Na primeira parte do exemplo, um objeto personalizado Style , labelStyle, é criado e registrado para o local atual (URL). Em seguida, o label1 rótulo chama o MergeStyle método para que o labelStyle estilo seja aplicado ao label1 rótulo.

A segunda parte do exemplo define outro objeto personalizado Style , bodyStylee define suas propriedades para criar uma nova regra de estilo.

Observação

Essa classe destina-se principalmente a desenvolvedores que desejam criar uma implementação personalizada. Este exemplo demonstra a implementação fornecida pelo .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>

Veja a seguir o arquivo code-behind da página da Web no exemplo anterior.

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

Comentários

As classes que implementam essa interface podem usá-la para dar suporte à criação de regras de estilo.

Para personalizar a forma como as folhas de estilo em cascata são criadas e registradas, você deve criar uma classe que implemente essa interface.

A HtmlHead classe implementa essa interface para uso ASP.NET por meio da Header propriedade .

Observação

Não há suporte para adicionar ou modificar estilos ou regras de estilo programaticamente durante postbacks assíncronos. Quando você adiciona recursos do AJAX a uma página da Web ASP.NET, postbacks assíncronos atualizam regiões da página sem atualizar a página inteira. Para obter mais informações, consulte Visão geral do Microsoft Ajax.

Métodos

CreateStyleRule(Style, IUrlResolutionService, String)

Quando implementado por uma classe, cria uma regra de estilo para o tipo de elemento de linguagem do documento especificado ou seletor.

RegisterStyle(Style, IUrlResolutionService)

Quando implementado por uma classe, adiciona uma nova regra de estilo à folha de estilo inserida na seção <head> de uma página da Web.

Aplica-se a

Confira também