IStyleSheet IStyleSheet IStyleSheet IStyleSheet Interface

定義

スタイル ルールの作成をサポートするためにクラスで実装する必要があるメソッドを定義します。Defines the methods that a class must implement in order to support the creation of style rules.

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

次のコード例ではHeader 、のIStyleSheet実装を使用して、プログラムによって新しいスタイルStyleルールを作成し、カスタムオブジェクトを登録する方法を示します。The following code example uses the Header implementation of IStyleSheet to demonstrate programmatically creating a new style rule and registering the custom Style object.

この例の最初の部分では、カスタムStyle labelStyleオブジェクトを作成し、現在の場所 (URL) に登録します。In the first part of the example, a custom Style object, labelStyle, is created and then registered for the current location (URL). ラベルはlabelStyle 、ラベルlabel1MergeStyleスタイルが適用されるようにメソッドを呼び出します。 label1Then the label1 label calls the MergeStyle method so that the labelStyle style is applied to the label1 label.

この例の2番目の部分でStyleは、 bodyStyle別のカスタムオブジェクトを定義し、そのプロパティを設定して新しいスタイルルールを作成します。The second part of the example defines another custom Style object, bodyStyle,and sets its properties to create a new style rule.

注意

このクラスは、主にカスタム実装を作成する開発者を対象としています。This class is intended primarily for developers that want to create a custom implementation. この例は、.NET Framework によって提供される実装を示しています。This example demonstrates the implementation provided by the .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>

前の例の Web ページの分離コードファイルを次に示します。The following is the code-behind file for the Web page in the preceding example.

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

注釈

このインターフェイスを実装するクラスは、スタイルルールの作成をサポートするために使用できます。Classes that implement this interface can use it to support the creation of style rules.

カスケードスタイルシートを作成および登録する方法をカスタマイズするには、このインターフェイスを実装するクラスを作成する必要があります。To customize the way cascading style sheets are created and registered, you must create a class that implements this interface.

クラスHtmlHeadは、 Headerプロパティを介して ASP.NET で使用するために、このインターフェイスを実装します。The HtmlHead class implements this interface for use by ASP.NET through the Header property.

注意

非同期ポストバック中にプログラムによってスタイルやスタイルルールを追加または変更することはできません。Adding or modifying styles or style rules programmatically during asynchronous postbacks is not supported. AJAX 機能を ASP.NET Web ページに追加する場合、非同期ポストバックはページ全体を更新せずにページの領域を更新します。When you add AJAX capabilities to an ASP.NET Web page, asynchronous postbacks update regions of the page without updating the whole page. 詳細については、「 Microsoft Ajax の概要」を参照してください。For more information, see Microsoft Ajax Overview.

メソッド

CreateStyleRule(Style, IUrlResolutionService, String) CreateStyleRule(Style, IUrlResolutionService, String) CreateStyleRule(Style, IUrlResolutionService, String) CreateStyleRule(Style, IUrlResolutionService, String)

クラスによって実装された場合は、指定されたドキュメント言語要素型つまりセレクターに対してスタイル ルールを作成します。When implemented by a class, creates a style rule for the specified document language element type, or selector.

RegisterStyle(Style, IUrlResolutionService) RegisterStyle(Style, IUrlResolutionService) RegisterStyle(Style, IUrlResolutionService) RegisterStyle(Style, IUrlResolutionService)

クラスによって実装された場合、Web ページの <head> セクション内の埋め込みスタイル シートに新しいスタイル ルールを追加します。When implemented by a class, adds a new style rule to the embedded style sheet in the <head> section of a Web page.

適用対象

こちらもご覧ください