2009-07-25 6 views

답변

2

이 방법 중 하나는 IsLoadingData라는보기 모델에서 속성을 사용하는 것입니다. 그런 다음이를 BooleanToVisibilityConverter를 사용하여 애니메이션을 호스팅하는 컨트롤의 Visibility 속성에 바인딩 할 수 있습니다.

Visibility={Binding 
    Path=IsLoadingData, 
    Converter={StaticResource BooleanToVisibilityConverter}} 

이 컨트롤은 다음 VisibilityProperty가 true로 설정되어있을 때, 애니메이션을 포함하는 스토리 보드를 시작하는 ControlTemplate에 사용할 수있다.

<ControlTemplate.Triggers> 
    <Trigger Property="IsVisible" Value="True"> 
     <Trigger.EnterActions> 
      <BeginStoryboard 
       x:Name="Storyboard0" 
       Storyboard="{StaticResource Animation0}" 
       /> 
     </Trigger.EnterActions> 
    </Trigger> 
</ControlTemplate.Triggers> 

이 애니메이션의 샘플 내 blog post의 전체 소스를 포함하는 참조하시기 바랍니다

.

1

개체를 표시하려는 DataTemplate이있을 수 있습니다. DataTemplate이 데이터로드 전에 인스턴스화되도록 UI의 빈 인스턴스를 이미 바인딩했는지 확인하십시오. 개체 IsLoaded/IsRefreshed 속성을 갖게하십시오. 그런 다음 DataTrigger를 작성하여 DataTemplate에로드 (또는 데이터 새로 고침) 애니메이션을 시작 및 중지하고 IsLoaded가 VM에서 변경되는 동안 True로 설정하면 애니메이션 비주얼을 축소 (또는 느린 페이드 애니메이션)하여 모든 데이터가 멋지게 표시됩니다.

나는 오래된 블로그는 여기 http://jobijoy.blogspot.com/2009/07/easy-way-to-update-all-ui-property.html, PropertyChangedEventArgs 새로 고침하는 DataTemplate을 모든 속성 바인딩을 말할 것이다 당신이, 널 (null)와 NotifypropertyChanged 이벤트를 발생한다에 유용 할 수 있습니다 또 다른 팁을 somethig에 유사한을하고 있습니다.

관련 문제