2013-06-06 3 views
1

나는 눈에 보이는 내 이미지를 만들고 시작이 코드를 타이머 :변경 이미지의 가시성

private void hideImage(object sender, System.Timers.ElapsedEventArgs e) 
{ 
    MessageBox.Show("test"); 
    image1.Visibility = Visibility.Hidden; 
} 

MessageBox.Show :

image1.Visibility = Visibility.Visible; 
System.Timers.Timer timer = new System.Timers.Timer(2000) { AutoReset=false}; 
timer.Enabled = IsEnabled; 
timer.Start(); 
timer.Elapsed += hideImage; 

이 2 초 후에 발사 이벤트 작품 및 메시지 상자가 표시됩니다. 문제는 이미지가 계속 보이는 것입니다. 어떤 아이디어가 이것을 처리하는 방법? 고맙습니다.

+1

MessageBox를 닫았습니까? – Andy

+0

예, MessageBox를 닫았습니다. – Cristiano

답변

2

이 시도 :

private void hideImage(object sender, ElapsedEventArgs e) { 
    Application.Current.Dispatcher.BeginInvoke((Action)(() => image1.Visibility = Visibility.Hidden)); 
} 

이 스레드 왜냐하면 처음에 당신을 위해 충돌을 din't 방법 확실하지 아마 메인 UI 스레드하지 않으며 그 역시 업데이트를 차단 무슨 아마.

+0

감사합니다. 이제 작동 중입니다. – Cristiano

0

Add to hide 이미지 Refresh 이미지를 보유하는 컨트롤 호출.