永发信息网

wpf中让控件进行移动的动画

答案:3  悬赏:60  手机版
解决时间 2021-12-21 22:05
按下button后,让一个border的位置进行动画宽度与高度的动画已经会了,但是移动的动画不知道怎么做如让border的left从100到200注:需要C#代码
最佳答案
Border 自身没有 Left 属性, 要描述一个 border 相对于它父窗口(Parent container) 的偏移量, 可以通过其 Margin 属性描述(Margin 是 一个 Thickness 类型的变量), 或通过父容器的附加属性来描述(例如 Canvas.left).

并非所有父容器都提供位置偏移支持, 因此, 使用 margin 来表示其位置偏移是比较好的, 下面是一个例子 (保存为一份 xaml 文档, 在 ie 中打开即可, 例子中, 单击按钮产生 上偏移的动画, 点击铵钮右键产生左偏移动画):


























当然, 如果父容器提供了位置偏移的附加属性, 也可以利用(如 Canvas 提供了 Left, Top 等来描述其子元素的位置偏移), 下面也是一个例子(保存为 xaml 文档, 在 ie 中打开也可以了, 例子中, 单击按钮产生 上偏移的动画, 点击铵钮右键产生左偏移动画):


























-------------
至于另一个需求 --- 需要 C# 代码, 其实也不难实现, 设置 Margin 的话, 直接就是 bdr.Margin=new Thickness(......)
设置 Canvas.Left 附加属性的就是 bdr.SetValue(Canvas.LeftProperty, yourNewValue);
适当将 xaml 的内容转换为 C# 就可以了
全部回答
WPF的控件分几种,要根据情况来删除。 如果是Border中的控件要被删除,需要将Border.Child设置为null——因为Border这类控件内部只能容纳一个内嵌控件。 而如果是Grid/StackPanel/DockPanel/Canvas等面板,因为这类控件内部可以同时嵌入多个子级控件,因此,要删除其中的子级控件得用类似Grid.Children.RemoveAt()或RemoveAt()这类的办法。 而TabControl之类的Item容器则需要调用类似tabControl.Items.Remove()或RemoveAt()之类的方法才能删除一个Tab页。 ================================ ——总之,要删除某个控件,需要先看看它在什么样的容器控件中,然后调用相应的方法。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
单选题“重农抑商”是中国历代王朝基本的经济
从看到闪电开始计时,测出听到打雷的时间为1.
微信里,我把好友删除了,然后也把我从对方好
上海的面积是多少平方千米
阿里斯顿的热水器为什么一开始是热的后面放着
单选题Don't worry about ___&nbs
用五笔怎么把偏旁部首打出来
请问,狗吃ad3钙粉好吗,狗狗吃什么钙粉比较
机场英文怎么说
吃蟹不足吃蟹足蟹足仍不足,求下联
秘制石锅鱼怎么去啊,有知道地址的么
住房公积金到底有什么好处
秋风给人们带来了什么
润滑油有油泥如何解决
“想”的音调是几声
推荐资讯
如果说好去拜神又不去会得罪菩萨吗?
用斟酌。犹豫。迟疑不决各造三个句子。
垃和圾分开组词可以组什么词
如何查看iphone配置
如图是一个零件的形状,按要求∠A=30°,∠B=
草地上有一根木桩,把一只羊用绳子系在木桩上
青神县工商行政管理局经济检查大队地址在哪?
关于刀模制版(复杂二维图形绘制)
代写PLC程序和设计控制电路,触摸屏,步进,
有谁能去香港代购美赞臣海外Platinum奶粉吗?
下列等式,正确的是A.-42=16B.-32=(-3)2C.
歌舞团设备租一套多少钱
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?