본문 바로가기

Silverlight

(35)
Style 정의하기 UIElement 의 Style 정의 UIElement의 모양을 변경하기 위해 Style Class를 정의하여 UIElement의 Style속성에 설정합니다. (FrameworkElement 를 상속 받은 모든 Element는 Style 속성을 가지고 있기 때문) Style Class는 SetterBaseCollection 형의 Setter property를 가지고 있습니다. SetterBaseCollection내 각각의 Setter class 는 Style의 속성에 값을 부여하는 Class로, 적용 될 Property를 지정하는 Property property와 지정된 property의 값을 설정하는 Value property가 있습니다. Style Class 는 Property와 Value가 지정 된..
VisualStateManager VisualStateManager : Control 의 상태(State) 간 전환에 사용되는 상태를 관리하는 Class 사용방법 VisualStateGroup을 VisualStateManager.VisualStateGroups 에 추가 한 뒤, VisualState를 정의하고, GoToState 함수를 사용하여 전환. private void rectangle_MouseEnter(object sender, MouseEventArgs e) { VisualStateManager.GoToState(this, "MouseEnter", true); } MouseEnter 라는 VisualState를 정의. rectangle의 MouseEnter시 VisualStateManager.GoToState 함수를 실행 하여..
Storyboard (Animation in Silverlight) Storyboard : System.Windows.Media.Animation.Timeline 의 파생 클래스. Timeline을 사용하여, Animation을 제어. Animation 만들기 Animation : 조금씩 변하는 여러개의 이미지를 빠르게 순환시켜 만드는 일종의 착시 효과. Silverlight에서는 값이 Double, Color, Point 형식인 속성에만 Animation을 적용할 수 있다. 다른 형식의 속성에 Animation을 적용할 수도 있지만, 이 작업은 불연속 보간을 사용하여 수행 되므로 진정한 의미의 Animation으로 간주되지 않는다(ObjectAnimationUsingKeyFrames 사용) ? Animation을 만들기 위해선 적용 될 UIElement의 Propert..
Layout Panel #5 (WrapPanel) WrapPanel은 System.Windows.Controls 어셈블리를 참조 추가하고, 네임스페이스를 참조하기 위한 접두사를 사용하여 쓸 수 있다. (참고 : 2009/06/12 - [Control/Layout Panel] - Layout Panel #4 (DockPanel)) WrapPanel StackPanel과 같이 추가 되는 콘텐트 엘리먼트의 순서에 따라 차곡차곡 배치하는 Layout Panel. WrapPanel과 StackPanel WrapPanel 에 콘텐트 엘리먼트를 추가하면, 추가 된 순서대로 배치 되며, 배치 방향은 Default로 Horizontal이 된다. StackPanel도 WrapPanel과 같은 Horizontal로 배치 해 보면, 다음과 같이, 배치 된다. StackPan..
Layout Panel #4 (DockPanel) DockPanel을 사용하려면, System.Windows.Control 어셈블리 내 컨트롤을 사용하기 위해서는 우선 참조를 추가하고, XAML 상단에 네임스페이스를 참조하기 위한 접두사를 사용해야 한다. xmlns:controls="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls" DockPanel DockPanel 은 Docking 될 위치를 설정하여, 설정 된 위치에 고정시켜 배치 하는 Layout Panel이다. Docking 될 위치를 지정하는 방법은, 콘텐트 엘리먼트에서 DockPanel의 Attached-Property인 Dock를 사용하면 되고, Dock은 Left, Right, Top, Bottom 네 가지가 ..
Layout Panel #3 (StackPanel) StackPanel : 콘텐트 엘리먼트들을 Stack처럼 순서대로 차곡차곡 쌓아 배치하는 Layout Panel. (Stack처럼 배치 되긴 하나, Data structure의 Stack 구조처럼 LIFO(Last In First Out)로 콘텐트 엘리먼트를 삭제하는 것은 아니다. 다른 Layout Panel과 마찬가지로, Children property(UIElementCollection)에 보관하며, RemoveAt으로 임의의 콘텐트를 삭제할 수도 있다.) StackPanel 에 콘텐트 엘리먼트를 추가하면, 순서대로 배치 되며, 배치 방향은 Default로 Vertical이 된다. 콘텐트 엘리먼트의 배치를 가로 방향으로 하고 싶다면, Orientation property를 Horizontal로 하면 ..
Layout Panel #2 (Grid) Grid : 테이블 형식으로 콘텐트를 구성하여 배치 할 수 있도록 하는 Layout Panel. 테이블 형식의 콘텐트를 구성하기 위한 Grid 설정하기 Grid에는 RowDefinitions와 ColumnDefinitions 두 가지 컬렉션 property가 있다. 두 property는 각각 행과 열을 관리하는 컬렉션이다. 원하는 행,열 만큼 각각의 컬렉션에 RowDefisnition과 ColumnDefinition을 추가하여 설정한다. 예를 들어, 3x3 (행,열)의 테이블 형식으로 Grid 를 구성하려 한다면, 위와 같이 RowDefinitions에 RowDefinition을 3개, ColumnDefinitions에 ColumnDefinition을 3개씩 추가하면 된다. 물론, XMAL 뿐 아니라 런..
Layout Panel #1 (Canvas) Layout Panel : 콘텐트를 배치하기 위해 사용되는 엘리먼트 Layout Panel 내 추가 할 콘텐트 엘리먼트들은 UIElement 형식으로 파생된 엘리먼트이어야만 한다. 왜냐하면, Layout Panel들은 System.Windows.Controls.Panel을 상속 받고 있으며, 추가 할 콘텐트 엘리먼트들은 UIElementCollection형의 Children property에 추가 되기 때문이다. 따라서, UIElement형의 모든 콘텐트 엘리먼트들은 Layout Panel 내 추가 할 수 있다. Canvas Canvas 는 ElementPoint를 사용하여 엘리먼트들을 원하는 위치에 배치 할 수 있는 기능을 제공하는 Layout Panel이다. Canvas에 콘텐트 엘리먼트를 추가 하는..