问一个淡入淡出的有关问题
问一个淡入淡出的问题
问题比较简单,如下:
我在一个grid下面定义了多给stackPanel,很多个,
有checkbox来控制这些panel是否呈现,
我想在这些panel之间显示和隐藏增加淡入淡出效果,如何方便简洁的实现?
谢谢大家,本人是wpf的初学者,希望多写一点代码
------解决方案--------------------
你应该用 Storyboard.Stop 方法 停止动画(如果你的动画设为重复)。
http://msdn.microsoft.com/zh-cn/library/vstudio/cc190749%28v=vs.100%29.aspx
PS:

(是这样的效果图?)
------解决方案--------------------
正好项目在旁边,提供我们的通用的方法供参考
把一个窗口淡出隐藏
调用
事件
问题比较简单,如下:
我在一个grid下面定义了多给stackPanel,很多个,
有checkbox来控制这些panel是否呈现,
我想在这些panel之间显示和隐藏增加淡入淡出效果,如何方便简洁的实现?
谢谢大家,本人是wpf的初学者,希望多写一点代码
wpf
淡入淡出
------解决方案--------------------
你应该用 Storyboard.Stop 方法 停止动画(如果你的动画设为重复)。
http://msdn.microsoft.com/zh-cn/library/vstudio/cc190749%28v=vs.100%29.aspx
PS:
(是这样的效果图?)
------解决方案--------------------
正好项目在旁边,提供我们的通用的方法供参考
把一个窗口淡出隐藏
/// <summary>
/// 控件属性渐变动画
/// </summary>
/// <param name="from">初始值</param>
/// <param name="to">目标值</param>
/// <param name="value">对象</param>
/// <param name="property">属性</param>
/// <param name="mil">动画持续时长(毫秒)</param>
public static Storyboard Animation(double from, double to, DependencyObject value, string property, int mil)
{
Storyboard sb = new Storyboard();
DoubleAnimation dop = new DoubleAnimation(from, to, new TimeSpan(0, 0, 0, 0, mil));
Storyboard.SetTarget(dop, value);
Storyboard.SetTargetProperty(dop, new PropertyPath(property, new object[] { }));
sb.Children.Add(dop);
return sb;
}
调用
Storyboard sb = Animation(1, 0, bankWindow, "Opacity", 200);
sb.Completed += sb_Completed_Close;//动画完成后的事件,可选
sb.Begin();
事件
void sb_Completed_Close(object sender, System.EventArgs e)
{
bankWindow.Close();
bankWindow = null;
}