본문 바로가기

silverlight

Behavior class in Blend 3 RC

 최근에 업데이트 된 Blend 3 RC에는 기본적으로 Behavior class 8가지(ChangePropertyAction, ControlStoryboardAction, FluideBahavior, GoToStateAction, HyperlinkAction, MouseDragElementBehavior, PlaySoundAction, RemoveElementAction) 를 제공합니다.
 


  8가지 Behavior 는 정확히 표현하자면, Behavior와 Action으로 명명 되 있는데요. Behavior는 System.Windows.Interativity의 Behavior 클래스를 상속받아 구현 한 것이고, Action은 System.Windows.Interactivity의 TriggerAction이나 TargetedTriggerAction등을 상속받아 구현 된 것입니다.

 그럼 각각의 Behavior의 사용 방법을 간략하게 소개 하도록 하겠습니다.

TargetedTriggerAction
- Trigger에 의해서 실행 되는 Action을 지정. Action의 대상을 지정할 수 있습니다.

ChangePropertyAction - Trigger에 의해서 Target의 Property를 변경 하는 Action.
- TargetName :  Property가 변결 될 Target
- PropertyName : 변경 할 Property 선택
- Value : 변경 될 Property 값 설정
- Animation Properties : 1) Duration : Properties 의 값이 변경되는 시간을 설정
                                   2) Ease : Properties의 값이 변경 될 때의 Easing Animation 설정.

GoToStateAction - Trigger에 의해서 Target의 VisualState를 원하는 State로 변경하는 Action.
- TargetName : State가 변경 될 Target
- StateName : 변경 될 State 지정

RemoveElementAction - Trigger에 의해서 지정된 Dependency Object를 제거하는 Action.
- TargetName : 제거될 Dependency Object 선택.

TriggerAction
- Trigger에 의해서 실행 되는 Action을 지정.

ControlStoryboardAction - Trigger에 의해서 선택 된 Storyboard 를 컨트롤(Play, Pause, Stop 등) 하는 Action.
- ControlStoaryboardOption : 컨트롤 될 Storyboard의 기능을 지정합니다. ex) Play, Pause, Stop 등
- Storyboard1 : 컨트롤 될 Storyboard를 지정합니다.

HyperlinkAction - Trigger에 의해서 지정된 Uri 로 이동하는 Action.
- NavigateUri : 이동 될 Uri 지정
- TargetWindow : 새창(_blank)을 띄울 것인지 현재 페이지에서 바로 이동(_self)할 것인지 등을 선택.

PlaySoundAction - Trigger에 의해서 지정된 Audio를 재생하는 Action.
- Source : 재생 될 Audio 선택 (mp3, asf, asx, wma, wmv 지원)
- Volumn : 볼륨의 크기 지정.

Behavior
- Attached 된 Dependency object의 동작을 지정합니다.

FluidMoveBehavior - Attached 된 Dependency Object는 Silverlight App. 첫 로드시나, Resize 등에 의해서 Dependency Object가 위치하는 곳이 변경 됐을때 유동적으로 움직이게 됩니다.
- Duration : 움직이는 시간 설정
- EaseX : Dependency Object가 위치하는 X좌표로의 이동시 Easing Animation을 지정합니다.
- EaseY : Dependency Object가 위치하는 Y좌표로의 이동시 Easing Animation을 지정합니다.

MouseDragElementBehavior - Attached 된 Dependency Object는 마우스로 드래그 할 수 있는 동작을 하게 됩니다.

[Sample]
위 8가지 Behavior 직접 구현 된 Sample입니다.

[Sample Code]
위 예제의 샘플입니다. Behavior를 사용했으니, Blend에서만 열어보심 되겠네요 :D