wpf中使用DoubleAnimation改变Button的大小后,Button的初始大小被系统保存在哪里?
答案:2 悬赏:70 手机版
解决时间 2021-12-30 10:04
- 提问者网友:末路
- 2021-12-30 02:36
wpf中使用DoubleAnimation将某个原大小为40*40 的Button的长宽变为100*100,然后再使用另一个DoubleAnimatin改变此Button的大小,且不指定From 和To的属性值,发现此Button自动变回初始大小,请问初始大小保存在哪里,第二次改变时如何获取Button的初始大小?
最佳答案
- 五星知识达人网友:杯酒困英雄
- 2021-12-30 02:56
WPF内置的依赖属性系统会保存原始值。
动画是基于依赖属性的。
如果你写过依赖属性,你就应该知道值强制中的一个问题。
例如:Slider控件,其Minimum,Maximum,和Value 3个属性(实质是对对应依赖属性的封装),
它不能强制你先设定哪一个,如果你设置:Minimum=0,Maximum=10,Value=4
然后再设置Minimum=5,这时候Value会自动设置为5,然后你又Minimum=0的话,Value会变回4,这是因为依赖属性系统会保存原始值,同时使用依赖属性的强制来修改值。
另外,你问题里提到的动画前大小。
可以使用GetAnimationBaseValue方法来获得。
例如:myButton.GetAnimationBaseValue(Button.WidthProperty)
动画是基于依赖属性的。
如果你写过依赖属性,你就应该知道值强制中的一个问题。
例如:Slider控件,其Minimum,Maximum,和Value 3个属性(实质是对对应依赖属性的封装),
它不能强制你先设定哪一个,如果你设置:Minimum=0,Maximum=10,Value=4
然后再设置Minimum=5,这时候Value会自动设置为5,然后你又Minimum=0的话,Value会变回4,这是因为依赖属性系统会保存原始值,同时使用依赖属性的强制来修改值。
另外,你问题里提到的动画前大小。
可以使用GetAnimationBaseValue方法来获得。
例如:myButton.GetAnimationBaseValue(Button.WidthProperty)
全部回答
- 1楼网友:低音帝王
- 2021-12-30 03:46
搜一下:wpf中使用DoubleAnimation改变Button的大小后,Button的初始大小被系统保存在哪里?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯