자주 발생하는 상황입니다.바운드 값이 변경 될 때 애니메이션을 시작하는 가장 좋은 방법은 무엇입니까?
보기에는 ViewModel 속성 (INotifyPropertyChanged에 의해 지원됨)에 연결된 컨트롤이 있습니다. 예 :
<TextBlock Text="{Binding Path=Subtotal}"/>
속성이 변경되면 사용자에게 일부 창의적인 애니메이션으로 사용자의주의를 환기시켜야합니다. 뷰가 이미 알림에 연결되어 있으며 추가 코드를 많이 생성하지 않도록 (또는 적어도 한 번 만들고 다시 사용) 피할 수있는 방법을 활용할 수 있습니다. 아마도 데이터 트리거가 최선의 선택 일 수 있지만, 특정 값에 비해 어떤 값 변화에 대해서도 트리거하는 법을 모르겠습니다.
다음과 같은 옵션이 마음에 와서 :
- 인상 뷰 모델에 추가 이벤트가 코드 숨김보기에 가입.
- 값이 변경되면 true를 반환하는 변환기를 사용하여 언급 된 속성에 바인딩 된 datatrigger를 만듭니다.
- 변경을 "알리는"데 사용되는 ViewModel의 새 부울 속성에 바인딩 된 datatrigger를 만듭니다.
- 컨트롤의 종속성 속성 변경을 구독하고 애니메이션을 시작하는 컨트롤에 연결된 비헤이비어를 만듭니다.
어떤 것을 원하십니까/사용하십니까? 나는 어떤 선택을 놓쳤는가?
P. 솔루션이 애니메이션을 먼저 시작하고 종료 될 때 값 변경을 반영 할 수 있다면 좋을 것입니다 (그러나 중요하지는 않습니다).
' '는 어디에서 왔습니까? Blend와 함께 배송되는 것 같습니다. 비 혼합 사용자가 사용할 수 있습니까? 내 코드에서 똑같은 것을 달성하고 싶지만, 내가 필요로하는 그러한 많은 인스턴스가있을 때 솔루션이 덜 장황하다. 스타일을 통해 가능할 수도 있습니다 ... –