我在wpf中播放不透明度动画时遇到问题。我有来自按钮,显示另一种形式,不透明度为0到1的双重动画。但是当我按下它时,我看到第二种形式,opacity = 1几毫秒,之后不透明度开始从0变为1.我怎么能在动画开始之前跳过具有opacity = 1的第二个表单的外观?
这是我的主要形式:
public partial class MainWindow : Window
{
Window1 _wind;
public MainWindow()
{
InitializeComponent();
_wind = new Window1();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
_wind.showForm();
}
}
这是动画的第二种形式:
public Window1()
{
InitializeComponent();
this.Opacity = 0;
this.image1.Opacity = 0;
}
public void showForm()
{
this.Opacity = 0;
this.image1.Opacity = 0;
DoubleAnimation dblAnim = new DoubleAnimation();
dblAnim.From = 0.0;
dblAnim.To = 1.0;
dblAnim.Duration = new Duration(TimeSpan.FromMilliseconds(1500));
ScaleTransform trans = new ScaleTransform();
this.image1.RenderTransform = trans;
this.image1.BeginAnimation(Image.OpacityProperty, dblAnim);
this.RenderTransform = trans;
this.BeginAnimation(Image.OpacityProperty, dblAnim);
this.ShowDialog();
}
private void button1_Click(object sender, RoutedEventArgs e)
{
this.Opacity = 0;
this.image1.Opacity = 0;
this.Visibility = Visibility.Hidden;
}