최근에 업데이트 된 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
'silverlight' 카테고리의 다른 글
Smooth Streaming UI 만들기 (0) | 2009.09.30 |
---|---|
Out-of-Browser 디버깅하는 방법 (0) | 2009.09.03 |
Lambda Expressions in Silverlight #2 (0) | 2009.08.19 |
Lambda Expressions in Silverlight #1 (0) | 2009.08.19 |
New Deepzoom Composer in Silverlight 3 (8) | 2009.07.28 |
Out of Browser in Silverlight 3 RTW (0) | 2009.07.10 |
ChildWindow 의 Close (X) 버튼 없애기 (0) | 2009.06.30 |
ChildWindow in Silverlight 3 (0) | 2009.06.30 |
Deepzoom Composer에서 Multiple Images와 MultiScaleImage의 화면 비율 (0) | 2009.06.30 |
Deepzoom Composer에서 Single Image와 MultiScaleImage 엘리먼트의 화면 비율 (0) | 2009.06.30 |