본문 바로가기

behavior

029. 툴팁 말풍선 슬라이더(ToolTip Balloon Slider) #3 이전 포스트들에서 여러가지 방법으로 썸(Thumb)에 말풍선 툴팁(ToolTip)이 따라다니는 슬라이더(Slider)를 만들어 보았습니다. 그런데 뭔가 만족스럽지 않았습니다. 그래서 좀 더 깔끔한 방법이 없을까 한참을 고민하고 태스트하고 찾아보던 끝에 하나의 포스트를 더 이어가기로 했습니다. 예제에 사용된 대부분의 코드는 동일하니 달라진 점만 일부 설명합니다. 1234567891011121314 Colored by Color Scriptercs XAML 코드에서 사용된 Popup은 그대로 사용됩니다. 추가로 이전 예제에서 불필요하게 사용되었던 VerticalOffset 프로퍼티는 -30으로 고정 시켰습니다. 팝업의 세로 위치는 변하지 않으므로 미리 고정되어도 될 것 같습니다. 123456789 Color.. 더보기
025. 커스텀 트리거 & 액션(Custom Trigger & Action) #2 이전 포스트에서 기본 XAML 코드와 기본 CS 코드를 준비했습니다. 간단한 시계가 완성되었습니다. 이제부터 커스텀 트리거와 커스텀 액션을 정의해봅시다. TimeChangedTrigger < TimeToAlarmBehavior.cs 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455public class TimeChangedTrigger : TriggerBase{ public string SpecialTime { get { return (string)GetValue(SpecialTimeProperty); } set { SetValue(SpecialTimeProperty, va.. 더보기
023. 커스텀 비헤이비어(Custom Behavior) 이전 포스트에서는 기본으로 제공되는 비헤이비어 사용법을 살펴보았습니다. 이번 포스트에서는 사용자가 직접 비헤이비어를 만들어보는 방법을 계속해서 살펴보겠습니다. 먼저 예제를 위한 상황 설정에 대한 설명입니다. 위 이미지처럼 Expander 컨트롤을 여러 개 동시에 사용하는 작은 인터페이스에서는 컨텐츠 노출을 효율적으로 하기 위해 한번에 하나씩만 열리도록 제약을 줄 때가 종종 있습니다. 12345678910111213141516 Colored by Color Scriptercs 기본 XAML 코드 : MainWindow.xaml XAML 코드는 최대한 간단히 StackPanel를 이용해 여러 개의 Expander 컨트롤을 하나의 그룹으로 만들었습니다. OnlyOneExpanderBehavior.cs 1234.. 더보기
024. 커스텀 트리거 & 액션(Custom Trigger & Action) #1 이전 포스트에서는 OnlyOneExpanderBehavior 비헤이비어 단독으로 사용되었지만 더 이전 포스트에서 살펴본 CallMethodAction 비헤이비어인 경우 Trigger(트리거)와 Action(액션)으로 구성되어 있던 것을 알 수 있었습니다. 이번 포스트에서는 Custom Trigger와 Custom Action에 대해 알아 봅시다. 이번에 사용될 예제는 간단한 알람 시계입니다. 123456789101112131415161718192021222324252627 Colored by Color Scriptercs 기본 XAML 코드 : MainWindow.xaml 예제를 위한 XAML 코드입니다. 시, 분, 초를 각 TextBlock으로 나누어 표현합니다. CS 코드에서 접근하기 윈해 x:Nam.. 더보기
022. 비헤이비어(CallMethodAction) #3 이전 포스트에서 살펴본 방법은 원하는 기능을 구현하는데 큰 문제가 없었습니다. 하지만 그 기능을 필요로 하는 인터페이스를 마주 칠 때마다 반복해야하는 비효율적인 문제가 예상되었습니다. 사실 이 문제를 해결하는 좋은 방법은 예전 포스트들에서 이미 살펴보았습니다. 바로 Style(스타일), Template(템플릿) 관련 포스팅에서 말입니다. 관련 목차 018. 컨트롤템플릿(ControlTemplate) #1 019. 컨트롤템플릿(ControlTemplate) #2 123456789101112131415161718192021222324252627282930313233 Colored by Color Scriptercs ScrollViewer의 기본 템플릿을 구하는 방법은 예전 포스트를 참고합니다. 조금 복잡해 .. 더보기
021. 비헤이비어(CallMethodAction) #2 사용자에게 더 좋은 인터페이스 경험을 제공하기 위해 계속해서 새로운 형태의 인터페이스가 유행 또는 제안되고 있는 것 같습니다. 그 중에서 한 가지를 CallMethodAction 비헤이비어를 이용해 구현해 봅시다. 비헤이비어 이름 그대로 메소드를 호출하는 기능을 하는 비헤이비어입니다. 예제로 사용할 것은 내용(Contents)이 아주 길 때 흔히 제공되는 인터페이스입니다. 스크롤을 하는 도중 다시 처음으로 돌아가려면 많은 스크롤 양에 불편함을 느낄 때가 종종 있습니다. 그럴 때 사용하면 알맞은 인터페이스입니다. 처음으로 바로가는 버튼을 제공하는 아주 간단한 기능입니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424.. 더보기
020. 비헤이비어(Behavior) #1 Behavior는 행동, 반응이란 뜻을 가지고 있습니다. 특정 상황, 조건(Trigger) 등에 따라 UI 요소에 어떤 영향을 줄 때 주로 사용됩니다. 사용자가 커스텀 비헤이비어를 만들어 기능을 확장할 수도 있습니다. 일단 비헤이비어를 사용하려면 System.Windows.Interactivity 어셈블리(dll) 참조가 필요합니다. 기본으로 제공되는 비헤이비어는 자주 사용되므로 Microsoft.Expression.Interactions 어셈블리도 함께 참조합니다. Visual Studio 설치시 설정할 수 있는 옵션에서 SDK가 제외되었다면 Blend for VS의 Assets(자산) 윈도우에서 기본으로 제공되는 비헤이비어가 보이지 않을 수 있습니다. 비헤이비어가 보이지 않는다면 Visual Stud.. 더보기