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