初次尝试,用Expression Blend设计动画,然后在VS 2008中通过编码将动画指派给需要它的控件,感觉不错。 WPF is interesting! I'm a desinger and developer!! OutlookBar.xml:<UserControl x:Class="KingUCLs.OutlookBar" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" Height="300" Width="300"> <UserControl.Resources> <Storyboard x:Key="Storyboard1"> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.Opacity)"> <SplineDoubleKeyFrame KeyTime="00:00:01" Value="0.5"/> <SplineDoubleKeyFrame KeyTime="00:00:02" Value="1"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </UserControl.Resources> <Grid x:Name="gridMain"> <StackPanel x:Name="stackPanel1"> </StackPanel> </Grid></UserControl> OutlookBar.xaml.cs public partial class OutlookBar : UserControl { private Storyboard _sButtonMouseEnter = null; public OutlookBar() { InitializeComponent(); Button btnAdd = new Button(); btnAdd.Content = "Add"; btnAdd.Name = "btnAdd"; this.RegisterName(btnAdd.Name, btnAdd); Button btnDelete = new Button(); btnDelete.Content = "Delete"; btnDelete.Name = "btnDelete"; this.RegisterName(btnDelete.Name, btnDelete); stackPanel1.Children.Add(btnAdd); stackPanel1.Children.Add(btnDelete); _sButtonMouseEnter = (Storyboard)this.FindResource("Storyboard1"); btnAdd.MouseEnter += new MouseEventHandler(onButtonMouseEnter); btnDelete.MouseEnter += new MouseEventHandler(onButtonMouseEnter); } public void onButtonMouseEnter(object sender, RoutedEventArgs e) { Storyboard.SetTargetName(_sButtonMouseEnter, ((Button)sender).Name); _sButtonMouseEnter.Begin((Button)sender); } }} 无需更多的语言了,又O了。 转载于:https://www.cnblogs.com/KingWorld/archive/2007/12/28/1018782.html