방법: 프로그래밍 방식으로 ASP.NET 서버 컨트롤 스타일 속성 설정
업데이트: 2007년 11월
ASP.NET 서버 컨트롤의 스타일 속성을 프로그래밍 방식으로 설정하여 조건에 따라 컨트롤 모양을 변경할 수 있습니다.
스타일 속성을 프로그래밍 방식으로 설정하려면
설정할 스타일 개체와 속성을 지정하기 위해 다음과 같은 계층적 규칙을 사용합니다.
Control.StyleObject.Property = value
Control.StyleObject.Property = value;
다음 코드 예제에서는 Calendar 컨트롤의 DayStyle 개체에 대한 BackColor 속성을 설정하는 방법을 보여 줍니다.
Calendar1.DayStyle.BackColor = System.Drawing.Color.Green
Calendar1.DayStyle.BackColor = System.Drawing.Color.Green;
별도의 Style 개체를 만들고 해당 속성의 값을 컨트롤의 스타일 중 하나로 복사하거나 병합할 수도 있습니다. 이렇게 하면 프로젝트에 있는 여러 목록 개체에 동일한 스타일을 적용할 수 있으므로 매우 유용합니다. 실제로 가상 스타일시트를 Style 개체로 만든 다음 일련의 컨트롤에 적용할 수 있습니다.
스타일 개체를 만들어 컨트롤에 적용하려면
다음 예제와 같이 Style 개체의 인스턴스를 만들고 속성을 설정합니다.
Dim s As Style = New Style() s.BackColor = System.Drawing.Color.Red
Style s = new Style(); s.BackColor = System.Drawing.Color.Red;
다음 메서드 중 하나를 사용하여 Style 개체를 컨트롤에 할당합니다.
MergeWith 메서드는 Style 개체에 이미 설정된 속성만 복사하고, 설정되지 않은 Style 속성은 건너뜁니다. 또한 MergeWith 메서드는 기존 스타일 요소를 덮어쓰지 않습니다.
다음 코드 예제에서는 Style 개체를 만들어 해당 속성 중 하나를 설정한 다음, 위에서 설명한 각 메서드를 사용하여 두 개의 서로 다른 컨트롤 스타일 개체에 적용하는 방법을 보여 줍니다.
' Apply all values in s, including nulls. Calendar1.SelectedDayStyle.CopyFrom(s) ' Apply only values in s that are null in HeaderStyle. DataGrid1.HeaderStyle.MergeWith(s)
// Apply all values in s, including nulls. Calendar1.SelectedDayStyle.CopyFrom(s); // Apply only values in s that are null in HeaderStyle. DataGrid1.HeaderStyle.MergeWith(s);
참고 항목
작업
방법: ASP.NET 구문을 사용하여 ASP.NET 서버 컨트롤 스타일 속성 설정