WPF实现淡入淡出效果
淡入淡出的功能可以通过WPF中的动画调整控件的透明度来实现。
xaml代码如下:
- <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>
<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#代码如下:
- 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);
- }
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); }
运行界面如图: