2014-09-03 2 views
0

사용자의 입력에 따라 움직이는 시뮬레이션 프로그램을 만들려고합니다. mystoryboard.completed 이벤트에 대한 이벤트 핸들러를 만들려고 할 때 오류가 발생합니다. 다양한 API 기사 및 이벤트 처리 및 스토리 보드에 대한 포럼 게시물을 읽었지만 오류의 원인을 찾을 수 없습니다.Storyboard.Completed 이벤트 처리기 실행 코드가 없습니다.

내 코드가 컴파일되고 창에 이벤트 핸들러를 설정 한 행 다음에 아무 것도 실행되지 않습니다. 모든 것을 설정 한 MainWindow는 아래와 같습니다.

public MainWindow() 
     { 
      InitializeComponent(); 
      titleTextBlock.Text = "MainWindow()"; 
      //this.Loaded += new RoutedEventHandler(MainWindow_Loaded); 
     } 

     private void MainWindow_Loaded(object sender, RoutedEventArgs e) 
     { 
      mainSystem = new BalanceSystem(3); 
      leftBlock = new SystemComponents.Block(0, 100, 150, 100, mainSystem); 
      rightBlock = new SystemComponents.Block(1, 100, 150, 100, mainSystem); 
      balanceBeam = new SystemComponents.Bar(0, 0, 250, 150, 100, mainSystem); 
      mainSystem.addComponent(leftBlock, leftWeight); 
      mainSystem.addComponent(rightBlock, rightWeight); 
      mainSystem.addComponent(balanceBeam, balanceBar); 

      titleTextBlock.Text = "LOADED"; 
     } 

"BalanceSystem"의 생성자는 문제가 발생하기 시작할 때입니다. 그것은 다음과 같이 생성자에 단계 :

public BalanceSystem(int count) 
{ 
    componentCount = count; 
    masterTimeline = new MovementTimeline(1); 
} 

"BalanceSystem"에 대한 생성자를 입력 한 후에는 내 손님 클래스 "MovementTimeline"에 대한 생성자로 이동합니다. 모든 것을 망가 뜨리는 선은 masterStoryboard.Completed에 대한 이벤트 핸들러의 생성 및 구독입니다. 컴파일러 또는 프로그램 한 번

class MovementTimeline 
{ 
    private Storyboard masterStoryboard; 
    private Duration systemDuration; 

    public MovementTimeline(int totalTime) 
    { 
     systemDuration = new Duration(TimeSpan.FromSeconds(totalTime)); 
     masterStoryboard.Completed += new EventHandler(masterStoryboard_Completed); 

    } 

    void masterStoryboard_Completed(object sender, EventArgs e) 
    { 
     masterStoryboard.Children.Clear(); 
     //masterStoryboard.Completed -= masterStoryboard_Completed; 
    } 
} 

새로운 이벤트 핸들러가 내 코드의 나머지 부분을 실행 중지하고 그대로 창을로드 만들어 줄 안타. 나는 왜 이런 일이 일어나고 있는지를 이해할 수 없다.

+0

MovementTimeLine 클래스의 전체 코드입니까? –

+0

StoryBoard 객체를 만들지 않고도 이벤트 핸들러를 추가하는 것처럼 보입니다. –

+0

아니요, 완전한 MovementTimeLine 클래스가 아니며 나머지는 애니메이션을 추가하고 제거하는 메소드 일 뿐이며 생성자와 관련이 없습니다. 와우 나는 완전히 그것을 놓쳤다. 도와 줘서 고마워, 내 문제가 해결 됐어. 그것을 어떻게 대답해야합니까? – Wired365

답변

0

StoryBoard 객체를 만들지 않고도 이벤트 핸들러를 추가하는 것처럼 보입니다.