元素逐渐变透明后还在不在?是不是就被删除了?
我想实现一个元素慢慢淡出视野消失(确切说是删除掉了)的应用,刚好msdn上有这个例子
http://msdn.microsoft.com/zh-cn/library/ms752312.aspx#storyboardwalkthrough
但是这个例子是用动画实现的,他的原理是利用透明度的变化,元素逐渐消失,但是我有个疑问就是这个元素只是变的透明了而已,还是彻底的删除掉了?我想要的是删除掉的结果,如果只是变的透明的话,那我画布上元素的个数变的多了起来,岂不是占用资源会过大了?
如果我只是想以淡入淡出的方式删除画布上的某个矩形元素的话,该怎么办?即
canvas.Children.Add(rect)//添加3个矩形
有具体删除第二个矩形的方法嘛?
------解决方案--------------------
你要是知道index直接:
void Storyboard_Completed(object sender, EventArgs e)
{
Canvas.RemoveAt(index);
}
要么这样
Canvas.Children.Add(rect)
//开始动画
//结束动画
Storyboard.Completed += (o,e) =>
{
Canvas.Children.Remove(rect);
}