다음을 통해 공유


연습: 새 스타일 구현

업데이트: 2007년 11월

대부분의 ASP.NET 모바일 컨트롤의 경우 속성 스타일에 대해 Style 기본 클래스만 사용해도 충분하지만 개별 컨트롤에는 해당 컨트롤에 고유한 추가 속성을 제공하는 특수화된 스타일 클래스가 필요할 수도 있습니다.

특수화된 모든 스타일 클래스는 Style 기본 클래스에서 상속되어야 합니다. 이 기본 클래스는 상태 관리 및 상속에 대한 자동 지원 기능을 제공합니다. 이러한 기능을 사용하려면 특수화된 스타일 클래스에서는 기본 클래스에서 제공하는 속성에 모든 새로운 속성을 정의하고 저장해야 합니다.

특수화된 스타일 클래스에 속성 지원을 추가하려면

  1. Style 기본 클래스에서 상속되는 특수화된 스타일 클래스를 작성합니다.

  2. 컨트롤의 CreateStyle 메서드를 재정의하고 특수화된 스타일 클래스의 인스턴스를 반환합니다.

    protected override Style CreateStyle()
    {
        return new NewStyle();
    }
    
  3. (옵션) Style 속성을 강력한 형식으로 만드는 새 속성을 컨트롤에 만듭니다. 이 새 속성은 다음 단계(4단계)에서 사용할 수 있습니다.

    protected NewStyle NewStyle
    {
        get
        {
            return (NewStyle)Style;
        }
    }
    
  4. 특수화된 클래스의 각 새 속성에 대해 컨트롤 클래스의 속성을 제공합니다. 이러한 속성은 스타일 속성에 대한 공용 접근자이며 이 속성을 구현하면 스타일 개체를 호출할 수 있습니다.

    protected String ThemeName
    {
        get
        {
            return NewStyle.ThemeName;
        }
        set
        {
            NewStyle.ThemeName = value;
        }
    }
    

새 스타일을 추가하려면

  1. 공용 static string을 멤버 필드로 선언합니다. 이 필드는 기본 클래스에 정의된 RegisterStyle 메서드에 대한 호출 값을 반환하기 위해 초기화됩니다. 다음 코드 예제에서는 상속 기능을 지원하고 기본값이 빈 string("")인 string 속성을 만듭니다.

    public static String ThemeNameKey = 
        RegisterStyle(ThemeName, typeof(String), String.Empty, true);
    

    RegisterStyle 메서드는 새 스타일 속성을 등록하고 속성의 스타일을 참조하는 데 사용할 수 있는 고유 키를 반환합니다. RegisterStyle 메서드의 매개 변수는 이름, 데이터 형식, 속성의 기본값 및 상속 동작을 정의합니다.

    컨트롤 어댑터에서도 이 키를 사용하여 속성의 상속 인식 값에 액세스하므로 이 키는 공용이어야 합니다.

  2. 기본 클래스의 기본 인덱서 속성을 사용하여 구현 시 해당 속성에 액세스하는 공용 속성을 만듭니다.

    public String ThemeName
    {
        get
        {
            return (String)this[ThemeNameKey];
        }
        set
        {
            this[ThemeNameKey] = value;
        }
    }
    

참고 항목

개념

스타일

장치 어댑터에서 스타일 속성 액세스

기타 리소스

새 스타일 만들기