首页 技术 正文
技术 2022年11月15日
0 收藏 647 点赞 3,636 浏览 1418 个字

在android开发中有抽屉效果,就是在页面的边上有一个按钮,可以通过点击或者拖拽这个按钮,让页面显示。Wpf也可以实现相同的效果。

主要是通过一个DoubleAnimation和RectAnimation动画实现

<Grid HorizontalAlignment="Center" Width="90" Height="130" Background="Blue">
<Image x:Name="Thumb" Source="high.png" Width="90" Height="125">
<Image.RenderTransform>
<TranslateTransform x:Name="Translate"></TranslateTransform>
</Image.RenderTransform>
<Image.Clip>
<RectangleGeometry x:Name="ClipRect" Rect="0,0,90,125" ></RectangleGeometry>
</Image.Clip>
</Image>
</Grid>
private bool _Expand = true;
public bool Expand
{
get { return _Expand; }
set
{
_Expand = value; Duration duration = new Duration(TimeSpan.FromSeconds());
FillBehavior behavior = FillBehavior.HoldEnd; DoubleAnimation translateAnim = new DoubleAnimation();
translateAnim.Duration = duration;
translateAnim.FillBehavior = behavior; RectAnimation clipAnim = new RectAnimation();
clipAnim.Duration = duration;
clipAnim.FillBehavior = behavior; double delta = ; //收缩的大小 if (_Expand) // Expand
{
translateAnim.From = -delta;
translateAnim.To = ; clipAnim.From = new Rect(delta, , Thumb.ActualWidth, Thumb.ActualHeight);
clipAnim.To = new Rect(, , Thumb.ActualWidth, Thumb.ActualHeight);
}
else //Shrink
{
translateAnim.From = ;
translateAnim.To = -delta; clipAnim.From = new Rect(, , Thumb.ActualWidth, Thumb.ActualHeight);
clipAnim.To = new Rect(delta, , Thumb.ActualWidth, Thumb.ActualHeight);
} Translate.BeginAnimation(TranslateTransform.XProperty, translateAnim);
ClipRect.BeginAnimation(RectangleGeometry.RectProperty, clipAnim);
}
}

Demo地址

http://pan.baidu.com/s/1gdxHhnX

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,904
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,430
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,247
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,058
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,690
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,727