1. 테마
a. 테마는 페이지와 컨트롤의 모양을 정의하고 웹 응용 프로그램의 페이지, 전체 웹 응용 프로그램 또는 서버의 모든 웹 응용 프로그램 간에 일관된 모양을 적용할 수 있는 속성 설정의 모음입니다.
b. 테마는 스킨, CSS 스타일시트, 이미지 및 기타 리소스와 같은 일련의 요소로 구성됩니다. 테마에는 최소한 스킨이 포함됩니다. 테마는 웹 사이트 또는 웹 서버의 특수 디렉터리에 정의됩니다.
c. 테마는 웹 사이트에서 App_Themes 폴더의 하위 폴더에 만들어집니다. 각 테마는 App_Themes 폴더의 개별 하위 폴더입니다.
2. 스킨
a. 스킨 파일은 파일 이름 확장명이 .skin이며 Button, Label, TextBox 또는 Calendar 컨트롤과 같은 개별 컨트롤의 속성 설정을 포함합니다.
b. 컨트롤 스킨 설정은 컨트롤 태그 자체와 비슷하지만 테마의 일부로 설정되는 속성만 포함합니다.
c. 테마 폴더에 .skin 파일을 만듭니다. .skin 파일에는 여러 컨트롤 형식에 대한 하나 이상의 컨트롤 스킨이 포함될 수 있습니다. 각 컨트롤에 대해 별도로 스킨 파일을 정의하거나 테마에 있는 모든 스킨을 단일 파일로 정의할 수 있습니다.
d. 스킨 파일 예
<asp:button runat="server" BackColor="lightblue" ForeColor="black" />
e. 기본 스킨
i. 테마를 페이지에 적용할 때 같은 형식의 모든 컨트롤에 기본 스킨이 자동으로 적용됩니다. SkinID 특성이 없는 컨트롤 스킨은 기본 스킨입니다.
f. 명명된 스킨
i. SkinID 속성이 설정된 컨트롤 스킨입니다.
ii. 명명된 스킨은 형식별로 컨트롤에 자동으로 적용되지 않습니다. 그 대신 컨트롤의 SkinID 속성을 설정하여 명명된 스킨을 컨트롤에 명시적으로 적용할 수 있습니다.
iii. 명명된 스킨을 만들면 응용 프로그램에서 동일 컨트롤의 각 인스턴스에 대해 서로 다른 스킨을 설정할 수 있습니다.
3. 테마 설정
a. 단일 웹 응용 프로그램에 대한 테마를 정의할 수도 있고 웹 서버의 모든 응용 프로그램에서 사용할 수 있는 전역 테마를 정의할 수도 있습니다.
i. @Page 지시문의 Theme 또는 StyleSheetTheme 특성을 사용하여 개별 페이지에 배치할 수도 있습니다.
<%@ Page Theme="ThemeName" %>
ii. 응용 프로그램 구성 파일의 <pages> 요소를 설정하여 응용 프로그램의 모든 페이지에 적용할 수도 있습니다. Machine.config 파일에서 <pages> 요소를 정의하면 서버의 웹 응용 프로그램에 있는 모든 페이지에 테마가 적용됩니다.
<pages theme="ThemeName" />
iii. 프로그래밍 방식 적용 (반드시 PreInit이벤트에 해야 한다)
Protected void Page_PreInit(object sender, EventArgs e)
{
switch (Request.QueryString["theme"])
{
case "Blue":
Page.Theme = "BlueTheme";
break;
case "Pink":
Page.Theme = "PinkTheme";
break;
}
}
4. 테마 적용의 예
a. 한 페이지에 Pink테마, Blue테마를 적용시켜서 버튼의 색깔을 바꿔 본 예제
'ASP.NET' 카테고리의 다른 글
4. 디버깅 (0) | 2018.12.05 |
---|---|
3-2 마스터 페이지 (0) | 2018.12.05 |
2-2. 표준컨트롤, 서버컨트롤 (0) | 2018.12.05 |
2-1. 웹폼 (0) | 2018.12.05 |
1. 닷넷 프레임워크 (0) | 2018.12.05 |