* 테마(Theme)는 한번 만들어 놓고 재사용하는 개념이다.
* 스킨(Skin) : 서버 컨트롤의 스타일을 미리 지정


- 테마(Theme)
    : 코드 한줄만 바꿔서, 전체 웹 사이트가 배경색이 검정에서 흰색으로 또는 그 반대로 스타일을 변경

- 테마 적용 범위
      - Web Form의 Page 지시문에 Theme 속성 사용 : 해당 페이지만
      - Web.config 파일의 <pages Theme="" /> 사용 : 전체 웹 사이트




--> 아래그림의 과정을 통해 "App_Themes"이라는 폴더를 만들고 "App_Themes"폴더안에(하위에) "Black", "White"폴더도 생성한다.

















그리고 아래그림과 같이 "Black", "White"폴더에 각각 "새 항목 추가"로 "스킨 파일"형식인 "SkinFile.skin"파일과 "스타일시트"형식인 "StyleSheet.css"파일을 만들고 코드를 각각 입력한다.





--> "Black", "White"폴더에 각각 "스킨 파일"형식인 "SkinFile.skin"파일을 추가하는 화면




--> "Black", "White"폴더에 각각 "스타일시트"형식인 "StyleSheet.css"파일을 추가하는 화면





==> [App_Themes/Black/SkinFile.skin]에 작성한 코드 --> '버튼'의 스킨(Skin)에 적용


<asp:Button

    runat="server"

    BackColor="Yellow"

    ForeColor="Red"

    BorderColor="Blue" />

   

<asp:Button

    SkinID="btnLogin"

    runat="server"

    BackColor="White"

    ForeColor="Red"

    BorderColor="Blue" />

   



 

==> [App_Themes/White/SkinFile.skin]에 작성한 코드 --> '버튼'의 스킨(Skin)에 적용


<asp:Button

    runat="server"

    BackColor="Yellow"

    ForeColor="Red"

    BorderColor="Blue" />






==> [App_Themes/Black/StyleSheet.css]에 작성한 코드 --> '웹 페이지'의 "배경(테마)"에 적용


body, div {

        background-color:Black;

        color:White;

}

 

input

{

        background-color:Black;

        border:1px solid white;

        color:White;

}

 





==> [App_Themes/White/StyleSheet.css]에 작성한 코드 --> '웹 페이지'의 "배경(테마)"에 적용


body, div {

        background-color:White;

        color:Black;

}

 

input

{

        background-color:White;

        border:1px solid Black;

        color:Black;

}

 





--> "웹 페이지 전체에 테마를 적용"하기 위해서 "web.config"파일의 '소스코드'에서 "<pages>"태그가 있는 코드 바로위쪽에 코드를 작성한다.(여기서는 "웹 페이지 전체에 테마 적용하기"를 실습해본 후, "<pages>"태그와 관련하여 작성했던 코드를 아래와 같이 주석처리 하였다.)



==> [web.config] 소스코드 중 "<pages>"태그 위에 작성한 코드.(분홍색 형광펜으로 칠한 부분이다.)


 

      <!-- 페이지 전체에 테마 적용하기 -->

        <!--

        <pages styleSheetTheme="Black" theme="Black">

        -->

      <pages>

        <controls>

          <add tagPrefix="asp" namespace="System.Web.UI" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

          <add tagPrefix="asp" namespace="System.Web.UI.WebControls" assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>

        </controls>

      </pages>

 






--> "웹 폼(Web Form)"형식의 파일인 "Default.aspx"에도 코드를 작성한다.(= 코드작성 및 디자인하기.)



==> [Default.aspx] 소스코드 및 디자인


<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs"

    Inherits="_Default" Theme="Black" %>

 

<!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 runat="server">

    <title></title>

</head>

<body>

    <form id="form1" runat="server">

    <div>

        안녕하세요.<br />

        <input type="button" value="안녕" />

    </div>

    </form>

</body>

</html>

 








--> "새 항목 추가"로 "About.aspx"이름의 "웹 폼(Web Form)"을 추가하고 "About.aspx"소스코드와 디자인을 아래와 같이 작성한다.



==> [About.aspx] 소스코드 및 디자인


<%@ Page Language="C#" AutoEventWireup="true" CodeFile="About.aspx.cs"

    Inherits="About" Theme="Black" %>

 

<!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 runat="server">

    <title></title>

    <style type="text/css"">

        .myButton {

            color:Red;background-color:Yellow;border-color:Blue;

        }             

    </style>

</head>

<body>

    <form id="form1" runat="server">

    <div>

   

        <h3>배경은 Yellow 글자색은 Red</h3>   

        <asp:Button ID="Button1" runat="server" Text="Button"

            BackColor="Yellow" ForeColor="Red" BorderColor="Blue" />    <!--[1]  -->

        <br />

        <br />

        <asp:Button ID="Button2" runat="server" Text="Button"

            CssClass="myButton" />  <!--[2] 자주쓰는 버튼의 스타일을 '클래스화'해서 사용 -->

        <br />

        <br />

        <asp:Button ID="Button3" runat="server" Text="Button"

            EnableTheming="false" />

        <br />

        <br />

        <asp:Button ID="Button4" runat="server" Text="Button"

            SkinID="btnLogin" />

   

    </div>

    </form>

</body>

</html>

 









[실행결과]

--> "[Default.aspx]웹 페이지"에 테마(배경)가 적용된 화면.(웹 페이지에 검은색 배경이 적용되었다.)




--> "[About.aspx]웹 페이지"에 "테마(배경)적용"과 4개의 '버튼'에 각각 다른방법을 통해 "스킨(Skin)"이 적용 된 화면.(위에 있는 소스코드들을 비교해보면서 각각의 '버튼'에 "스킨(Skin)"이 적용된 형태를 볼 것!)








Posted by holland14
: