WPFフェードアウト


wpf:
Windows設定Opacity=0;
C# code

   
private void Window_Loaded(object sender, RoutedEventArgs e) { this.Timer111(); } // Timer : using System.Timers; Timer timer1 = new Timer(1000); private void Timer111() { timer1.Start(); timer1.Elapsed += new System.Timers.ElapsedEventHandler(this.timer1_Elapsed); } private void timer1_Elapsed(object sender, EventArgs e) { // : , 。 if (!(this.Opacity < 1)) { timer1.Stop(); } this.Opacity += 0.1; }

誰が私にこの問題を解決することができて、どのようにプログラムのフェードイン効果を実現しますか? 
ありがとう
答え1
------その他回答(1点)------
 
C# code

  
C# 1. private void Form1_Load(object sender, System.EventArgs e) for(double d=0.01; d< 1; d+=0.02) { System.Threading.Thread.Sleep(1); Application.DoEvents(); this.Opacity=d; this.Refresh(); } 2. private void timer1_Tick(object sender, System.EventArgs e) { this.Opacity = WinShow ; WinShow += 0.1 ; if(WinShow >=1 ) { timer1.Dispose (); } } 3. , frmForm myForm=new frmForm() frmForm.Opacity=0; frmForm.show(); for(int i=0;i<100;i++) { Application.DoEvents() frmForm.Opacity=i/100; } 4. #region ******** ******** private double WinShow = 0;// private void FormShow(System.Windows.Forms.Form Curfrm) { Curfrm.Opacity = WinShow ; WinShow += 0.01; if(WinShow == 1) { Curfrm.timerShow.Stop (); } } #endregion #region ******** ******** // private void timerShow_Tick(object sender, System.EventArgs e) { //timerShow, timer ; timerShow.interval=100 。 FormShow(this); } #endregion

 
------その他回答(2点)------
DispatcherTimerで
------その他回答(27分)------
WPFでフェードアウトを実現するには、コードを書きすぎてループを制御する必要はありません.
C# code

  
using System.Windows.Media.Animation; private void Window_Loaded (object sender, RoutedEventArgs e) { // this.Opacity = 0; DoubleAnimation OpercityAnimation = new DoubleAnimation(0.01, 1.00, new Duration(TimeSpan.FromSeconds(1))); this.BeginAnimation(Window. OpacityProperty, OpercityAnimation);}