问一个淡入淡出的问题
问题比较简单,如下:
我在一个grid下面定义了多给stackPanel,很多个,
有checkbox来控制这些panel是否呈现,
我想在这些panel之间显示和隐藏增加淡入淡出效果,如何方便简洁的实现?
谢谢大家,本人是wpf的初学者,希望多写一点代码
(是这样的效果图?)
[解决办法]
正好项目在旁边,提供我们的通用的方法供参考
把一个窗口淡出隐藏
/// <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;
}