silverlight 常用特效
在一些游戏和商业软件开发的应用中,为了让我们的用户体验更好的使用体验,我们常常会在鼠标事件中做一些特效让用户觉得更贴心,也让程序更美观。开心银光在这里介绍一个非常常用的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是光影的偏移量,我设为零是表达不偏移,很多游戏和应用程序都喜欢这样的使用效果。