2010-06-12 2 views
1

WPF 및 MVVM 패턴을 사용하여 기존 응용 프로그램을 변환 중입니다. 내 스토리에는 서로 다른 스토리 보드가 있습니다.MVVM을 사용하여 애니메이션을 시작하는 방법은 무엇입니까?

예 : 1. 응용 프로그램을로드하는 동안 스플래시 화면 표시 2. 메뉴 토글 버튼/라디오 버튼을 클릭하여 슬라이드를 표시하고 애니메이션 효과 슬라이드를 엽니 다. 3.보기에서 사용할 수있는 다른 요소에 대해 다른 마우스 오버 효과.

MVVM을 사용하여 스토리 보드를 호출하는 데 가장 좋은 방법은 무엇입니까? 마우스 오버 효과를 표시하려면 MVVM 또는 코드를 사용해야합니다. 질문 1에 대한

답변

1

, 당신의 요구 사항 또는이 작업을 수행하는 가장 좋은 방법은 잘 모르겠지만, 하나 개의 아이디어는 당신이 질문에 대답하기 <EventTrigger RoutedEvent="Window.Loaded">

<EventTrigger RoutedEvent="Mouse.MouseEnter">을 아래 # 3 유사한 코드를 사용하지만, 대체 할 수있다 2, 사용자가 라디오 버튼을 변경할 때 스토리 보드를 시작하는 방법은 다음과 같습니다. 질문 3에 대한

<CheckBox Content="Radio Button Option 1" > 
    <i:Interaction.Triggers> 
      <i:EventTrigger EventName="Checked"> 
       <im:ControlStoryboardAction Storyboard="{StaticResource NameOfStoryboardToRunOnCheck}"/> 
      </i:EventTrigger> 
      <i:EventTrigger EventName="Unchecked"> 
       <im:ControlStoryboardAction Storyboard="{StaticResource NameOfStoryboardToRunOnUnCheck}"/> 
      </i:EventTrigger> 
    </i:Interaction.Triggers> 
</CheckBox> 

가 여기

<UserControl.Triggers> 
    <EventTrigger RoutedEvent="Mouse.MouseEnter"> 
      <BeginStoryboard Storyboard="{StaticResource MouseOverStoryboard}" /> 
    </EventTrigger> 
    <EventTrigger RoutedEvent="Mouse.MouseLeave"> 
      <BeginStoryboard Storyboard="{StaticResource MouseLeaveStoryboard}" /> 
    </EventTrigger> 
</UserControl.Triggers> 
에 OnMouseOver

의 예입니다 : 이것은 모든 XAML에
관련 문제