WPF使用故事板放大一个矩形
WPF enlarge a rectangle using storyboard
你好,我有一个 Window>grid>rectangle 命名为 (rect1)
如何使用故事板放大这个
错误:附加信息:不存在解析名称的适用名称范围 'rect1'
private void Window_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
{
Storyboard buttonEnlargeStoryboard = new Storyboard();
DoubleAnimation da = new DoubleAnimation();
da.SetValue(Storyboard.TargetNameProperty, rect1.Name);
da.BeginTime = new TimeSpan(0);
da.Duration = TimeSpan.FromSeconds(1);
buttonEnlargeStoryboard.Children.Add(da);
buttonEnlargeStoryboard.Begin();
}
您应该像这样设置宽度和高度属性的动画:
DoubleAnimation widthAnimation = new DoubleAnimation
{
From = 0,
To = rect1.ActualWidth*2,
Duration = TimeSpan.FromSeconds(5)
};
DoubleAnimation heightAnimation = new DoubleAnimation
{
From = 0,
To = rect1.ActualHeight*2,
Duration = TimeSpan.FromSeconds(5)
};
Storyboard.SetTargetProperty(widthAnimation, new PropertyPath(Rectangle.WidthProperty));
Storyboard.SetTarget(widthAnimation, rect1);
Storyboard.SetTargetProperty(heightAnimation, new PropertyPath(Rectangle.HeightProperty));
Storyboard.SetTarget(heightAnimation, rect1);
Storyboard buttonEnlargeStoryboard = new Storyboard();
buttonEnlargeStoryboard.SpeedRatio = 1;
buttonEnlargeStoryboard.Children.Add(widthAnimation);
buttonEnlargeStoryboard.Children.Add(heightAnimation);
buttonEnlargeStoryboard.Begin();
你好,我有一个 Window>grid>rectangle 命名为 (rect1)
如何使用故事板放大这个
错误:附加信息:不存在解析名称的适用名称范围 'rect1'
private void Window_MouseEnter(object sender, System.Windows.Input.MouseEventArgs e)
{
Storyboard buttonEnlargeStoryboard = new Storyboard();
DoubleAnimation da = new DoubleAnimation();
da.SetValue(Storyboard.TargetNameProperty, rect1.Name);
da.BeginTime = new TimeSpan(0);
da.Duration = TimeSpan.FromSeconds(1);
buttonEnlargeStoryboard.Children.Add(da);
buttonEnlargeStoryboard.Begin();
}
您应该像这样设置宽度和高度属性的动画:
DoubleAnimation widthAnimation = new DoubleAnimation
{
From = 0,
To = rect1.ActualWidth*2,
Duration = TimeSpan.FromSeconds(5)
};
DoubleAnimation heightAnimation = new DoubleAnimation
{
From = 0,
To = rect1.ActualHeight*2,
Duration = TimeSpan.FromSeconds(5)
};
Storyboard.SetTargetProperty(widthAnimation, new PropertyPath(Rectangle.WidthProperty));
Storyboard.SetTarget(widthAnimation, rect1);
Storyboard.SetTargetProperty(heightAnimation, new PropertyPath(Rectangle.HeightProperty));
Storyboard.SetTarget(heightAnimation, rect1);
Storyboard buttonEnlargeStoryboard = new Storyboard();
buttonEnlargeStoryboard.SpeedRatio = 1;
buttonEnlargeStoryboard.Children.Add(widthAnimation);
buttonEnlargeStoryboard.Children.Add(heightAnimation);
buttonEnlargeStoryboard.Begin();