Behavior는 행동, 반응이란 뜻을 가지고 있습니다. 특정 상황, 조건(Trigger) 등에 따라 UI 요소에 어떤 영향을 줄 때 주로 사용됩니다. 사용자가 커스텀 비헤이비어를 만들어 기능을 확장할 수도 있습니다.
일단 비헤이비어를 사용하려면 System.Windows.Interactivity 어셈블리(dll) 참조가 필요합니다. 기본으로 제공되는 비헤이비어는 자주 사용되므로 Microsoft.Expression.Interactions 어셈블리도 함께 참조합니다.
Visual Studio 설치시 설정할 수 있는 옵션에서 SDK가 제외되었다면 Blend for VS의 Assets(자산) 윈도우에서 기본으로 제공되는 비헤이비어가 보이지 않을 수 있습니다.
비헤이비어가 보이지 않는다면 Visual Studio Installer를 이용해 SDK를 설치합니다.
C:\Program Files (x86)\Microsoft SDKs\Expression\Blend\.NETFramework\v4.5\Libraries\System.Windows.Interactivity.dll
이미 설치되어 있으면 위 경로를 참고해 수동으로 참조시켜도 됩니다.
참조 및 빌드를 한 후에는 기본으로 제공되는 비헤이비어를 Blend for VS에서 손쉽게 사용할 수 있습니다. 일반적인 사용 방법은 디자인뷰에 사용하길 원하는 UI 컨트롤 요소에 마우스로 drag & drop(드래그 앤 드롭)하는 것입니다. 관련 어셈블리도 자동으로 참조됩니다.
1 2 | xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:ei="http://schemas.microsoft.com/expression/2010/interactions" | cs |
이 방법을 이용하면 XAML 코드에 네임스페이스 등록도 자동으로 이루어 집니다. 여기서 접두사는 본인 취향에 맞게 수정해도 됩니다.
1 2 3 4 5 6 7 8 9 | <Button Content="↑" FontWeight="Bold" FontSize="18" HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="5,5,22,5"> <i:Interaction.Triggers> <i:EventTrigger EventName="Click"> <ei:CallMethodAction/> </i:EventTrigger> </i:Interaction.Triggers> </Button> | cs |
비헤이비어는 드래그 앤 드롭하는 순간 UI 요소 하위에 자동으로 생성됩니다. 자동으로 생성된 XAML 코드를 살펴보면 Trigger(트리거)와 Action(액션)으로 구성되어 있습니다.
비헤이비어를 선택한 상태에서는 속성 윈도우에서 비헤이비어의 다양한 속성을 정의할 수 있습니다. 정의하지 않은 트리거의 Source 속성들은 트리 구조내 부모 요소를 암시적으로 따릅니다.
트리거 타입은 새로 만들기 버튼을 눌러 변경할 수 있습니다.
다음 포스트에서는 나름 의미있는 예제를 들어 살펴보겠습니다.
샘플 코드 : https://github.com/CharlesKwon/XamlSimplified
참고 : MSDN > Working with built-in behaviors
관련 목차
'XAML 뽀개기' 카테고리의 다른 글
022. 비헤이비어(CallMethodAction) #3 (0) | 2018.02.23 |
---|---|
021. 비헤이비어(CallMethodAction) #2 (0) | 2018.02.20 |
020. 비헤이비어(Behavior) #1 (0) | 2018.02.20 |
019. 컨트롤템플릿(ControlTemplate) #2 (0) | 2018.02.12 |
018. 컨트롤템플릿(ControlTemplate) #1 (0) | 2018.02.12 |
017. 두개의 콘텐츠 버튼(Two Contents Button) #3 (0) | 2018.02.05 |