WPF实现淡入淡出效果              

淡入淡出的功能可以通过WPF中的动画调整控件的透明度来实现。

xaml代码如下:

  1. <Grid>  
  2.         <Grid.RowDefinitions>  
  3.             <RowDefinition Height="20" />  
  4.             <RowDefinition Height="200" />  
  5.             <RowDefinition />  
  6.         </Grid.RowDefinitions>  
  7.         <Grid.ColumnDefinitions>  
  8.             <ColumnDefinition />  
  9.             <ColumnDefinition />  
  10.         </Grid.ColumnDefinitions>  
  11.         <Image x:Name="image_monkey" Width="200" Height="200" Source="Images/monkey.jpg" Grid.ColumnSpan="2" Grid.Row="1" />  
  12.         <Button x:Name="btn_danru" Width="50" Height="20" Grid.Column="0" Grid.Row="2" Click="btn_danru_Click">淡入</Button>  
  13.         <Button x:Name="btn_danchu" Width="50" Height="20" Grid.Column="1" Grid.Row="2" Click="btn_danchu_Click">淡出</Button>  
  14.     </Grid>  
<Grid>
        <Grid.RowDefinitions>
            <RowDefinition Height="20" />
            <RowDefinition Height="200" />
            <RowDefinition />
        </Grid.RowDefinitions>
        <Grid.ColumnDefinitions>
            <ColumnDefinition />
            <ColumnDefinition />
        </Grid.ColumnDefinitions>
        <Image x:Name="image_monkey" Width="200" Height="200" Source="Images/monkey.jpg" Grid.ColumnSpan="2" Grid.Row="1" />
        <Button x:Name="btn_danru" Width="50" Height="20" Grid.Column="0" Grid.Row="2" Click="btn_danru_Click">淡入</Button>
        <Button x:Name="btn_danchu" Width="50" Height="20" Grid.Column="1" Grid.Row="2" Click="btn_danchu_Click">淡出</Button>
    </Grid>

C#代码如下:

 

  1. private void btn_danru_Click(object sender, RoutedEventArgs e) {  
  2.             DoubleAnimation daV = new DoubleAnimation(0,1,new Duration(TimeSpan.FromSeconds(1)));  
  3.             this.image_monkey.BeginAnimation(UIElement.OpacityProperty, daV);  
  4.         }  
  5.   
  6.         private void btn_danchu_Click(object sender, RoutedEventArgs e) {  
  7.             DoubleAnimation daV = new DoubleAnimation(1, 0, new Duration(TimeSpan.FromSeconds(1)));  
  8.             this.image_monkey.BeginAnimation(UIElement.OpacityProperty, daV);  
  9.         }  
private void btn_danru_Click(object sender, RoutedEventArgs e) {
            DoubleAnimation daV = new DoubleAnimation(0,1,new Duration(TimeSpan.FromSeconds(1)));
            this.image_monkey.BeginAnimation(UIElement.OpacityProperty, daV);
        }

        private void btn_danchu_Click(object sender, RoutedEventArgs e) {
            DoubleAnimation daV = new DoubleAnimation(1, 0, new Duration(TimeSpan.FromSeconds(1)));
            this.image_monkey.BeginAnimation(UIElement.OpacityProperty, daV);
        }

运行界面如图: