在一些游戏和商业软件开发的应用中,为了让我们的用户体验更好的使用体验,我们常常会在鼠标事件中做一些特效让用户觉得更贴心,也让程序更美观。开心银光在这里介绍一个非常常用的silverlight 特效。
System.Windows.Media.Effects.DropShadowEffect
它有几个属性。大家可以自行试试,相当简单。所以开心银光在这里不作祥解,接下来是演示代码:
以下是实现一个很简单的功能,只要鼠标移到button上就启动特效。鼠标离开时我们清除特效:
a)xaml部分:
1: <Grid x:Name="LayoutRoot" Background="White">
2: <Button Content="Button" Height="23" HorizontalAlignment="Left" Margin="10,10,0,0" Name="button1" VerticalAlignment="Top" Width="75" />
3: </Grid>
4: 相当简单,我只加了一个button控件。其他什么都没有。
b)c#部份:
1: namespace SilverlightApplication20
2: {3: public partial class MainPage : UserControl
4: {
5: public MainPage()
6: { 7: InitializeComponent();8: button1.MouseEnter += new MouseEventHandler(button1_MouseEnter);
9: button1.MouseLeave += new MouseEventHandler(button1_MouseLeave);
10: }11: 12: void button1_MouseLeave(object sender, MouseEventArgs e)
13: {14: button1.Effect = null;
15: }16: 17: void button1_MouseEnter(object sender, MouseEventArgs e)
18: {19: System.Windows.Media.Effects.DropShadowEffect ds = new System.Windows.Media.Effects.DropShadowEffect();
20: ds.ShadowDepth = 0;21: ds.Color = Colors.Yellow;
22: button1.Effect = ds;23: }24: }25: }26: 以上是的ShadowDepth是光影的偏移量,我设为零是表达不偏移,很多游戏和应用程序都喜欢这样的使用效果。
欢迎您参与更多关于此话题的讨论,本文原创开心银光社区.地址为:http://funsl.com
评论
学习了。 貌似Blend自带的特效里面只有这个和毛玻璃的?还有其他特效吗?
崇高的理想腐朽成义务,最终化尽成卑微的执着……
这是作为人正常的取向。但它却是不正确的