2012-09-25 1 views
2

나는 사용자 정의 컨트롤을 작성했습니다. 나는 현재 템플릿을 조금 깔끔히 정리하기 위해이 기능 중 일부를 옮기기 위해 노력하고 있는데, 컨트롤 부분을 읽고있다. 및 시각 상태 관리자.컨트롤 파트 또는 Visual State Manager 또는 둘 다를 사용 하시겠습니까?

현재 컨트롤은 속성 예 : IsExtraInfoShown을 노출합니다. 컨트롤 템플릿에는이 속성에서 고유 한 트리거가있어 해당 영역을 표시하거나 숨 깁니다.

컨트롤 부분에 대해 읽은 후에는 완벽하게 맞는 것 같습니다. 모든 템플릿의 이름은 PART_ExtraInfo이며 컨트롤은 적절하게 표시하거나 숨 깁니다.

그러나 나는 내가 ExtraInfoVisibility 그룹을 생성하고 템플릿을 정의 할 수 있습니다 InfoShownInfoHidden 상태를 가지고 있어야 추론하는 것 같다 비주얼 상태 매니저에 대해 읽고, 혼합 등의 편집기에서 작동 할 수 있습니다.

어떤 것을 사용해야합니까? 또는 둘 다 사용할 수 있습니까? 즉, 내가 거기에 있다면 PART_ExtraInfo을 숨기고, 그렇지 않다면 나는 GotoState()을 표시합니까?

답변

2

VisualStateManager를 사용할 때 부분과 상태 모델 다음에 오는 것으로 가정합니다. 이 경우 이름은 정말로 그것을 모두 말합니다. 그것이 충분하지 않다면, VisualStateManger에 관한 웹 튜토리얼에 의해 상태와 함께 정의 된 부분을 사용하면 상태를 사용할 때 여전히 관련성이있는 부분 일뿐만 아니라 사용되는 요소를 지정하기 때문에 더욱 유용 해집니다. 컨트롤은 상태를 결정합니다. 방법에 대한 자세한 내용은 Parts & States model with VisualStateManager (part 3 of 4)을 참조하십시오.

이벤트 핸들러 내에서 트리거 또는 코드와 같은 시각적 상태를 설정하는 전통적인 방법과 부품 및 상태 모델 간의 겹침의 측면에서 보면 상태를 사용하여 상태 그룹은 트리거를 사용하지 않거나 다른 방법으로이 값을 조작하는 코드 설정을 직접 수행해야합니다.

VisualStateManager를 WPF에 통합하는 방법에 대한 우려 사항을 잘 읽고 싶다면 기존 기술과 함께 편안 해져야합니다. 나는 Carole Snyder가 냄비 The VisualStateManager and Triggers을 읽는 것이 좋습니다. 그 기사는 내가 가지고있는 질문들 중 일부를 도와 준 재미있는 인용문을 가지고있다.

제어 저자는 그들의 시각적 상태 사이에서 전환하는 VisualStateManager를 사용하는 경우에도 시각적 상태 에 대한 속성을 정의하기 위해 계속해야합니다.