2011-10-02 6 views

답변

1

이벤트 예컨대 일어나고 :

  • 내가 클릭 한 "일"의 인스턴스입니까?
  • 타이머가 작동합니까?
  • 내 데이터가 준비 되었습니까?

Visual State Manager는 컨트롤의 복수 상태을 동시에 관리하는 데 사용됩니다.

  • 누를 수 있습니까?
  • 마우스가 저 위에 있습니까?
  • 확인 했습니까?

이벤트는 청취 개체에 대한 콜백이며 상태는 시각적 상태이므로 기본적으로 완전히 다른 목적으로 사용됩니다. 이벤트는 상태 변경을 트리거 할 수 있지만 이는 중복되는 유일한 것입니다.

0

개체는 이벤트가 발생했음을 나타 내기 위해 이벤트를 발생시킵니다. 이벤트는 임의의 페이로드 (이벤트 args)와 이벤트를 보낸 오브젝트 (규칙 상)를 전달합니다. 시각 상태는 컨트롤 또는 사용자 컨트롤의 여러 상태를 정의합니다. 시각적 상태는 컨트롤이 어떻게 보이는지, 어떻게 컨트롤이 그 모양으로 어떻게 변하는 지, 그리고 어떻게 그 모양에서 벗어나는지를 정의합니다. ("전환"은 복잡한 애니메이션을 통해 모든 방법으로 가시성을 전환하는 작업을 포함 할 수 있습니다.) 시각 상태는 컨트롤의 일부이지만 이벤트와 마찬가지로 직접 등록 할 수는 없습니다.

하나의 모델이 다른 모델보다 좋지 않습니다. 단순히 다릅니다. 뷰 모델 및 모델/서비스 계층의 이벤트와 뷰 계층의 시각적 상태를 생각해보십시오.

0

Visual State Manager는 상태 인 (놀랍게도)을 관리하는 데 사용됩니다. 그래서 예를 들어 당신의 버튼을 여러 물리게 될 수 아래로

  • 을 활성화 비활성화
  • 마우스를 통해

    • 마우스

      당신 코드 정말 그것에 대해 알 필요가 없다, 따라서 모든 시각적 인 상태를 XAML 내에 보관해야합니다.

      또한 시각 상태 관리자는 오류가 발생하기 쉬운 코드를 줄이는 데 도움이됩니다.

      이벤트의 경우 실제로는 더 자주 명령을 사용하는 경향이 있습니다. 이제는 이벤트를 자체 이벤트보다 유용하게 사용합니다.