学习《银光志 silverlight 3.0》 不错的实例讲解【含源码】

时间:2021-06-03 18:50:38

银光志
这两天在学习《银光志 silverlight 3.0》,把前面6章我觉得比较不错的实例做了一下。大家可以看下效果【点击左侧的导航按钮就可以看到效果】
目前,这个实例库基本上包含以下内容:
1.全屏的实现。主要用到以下代码,记得为Content添加引用using System.Windows.Interop;:
Content contentObject = Application.Current.Host.Content;
			contentObject.IsFullScreen = !contentObject.IsFullScreen;

2.一个很炫的动画,14长图片围绕一个圆旋转。

3.数据验证,这个思想也不复杂,大家可以参考源码研究,绑定时的代码如下:

   <!--NotifyOnValidationError:是否使用错误验证通知
            ValidatesOnExceptions:是否报告验证错误-->
            <TextBox Width="120" Height="30" Margin="10,0,0,0" x:Name="txtPrice" Text="{Binding Price,Mode=TwoWay,NotifyOnValidationError=True,ValidatesOnExceptions=True}" BindingValidationError="txtPrice_BindingValidationError" TextChanged="txtPrice_TextChanged"></TextBox>

  

4.鼠标拖拽。主要用到鼠标的三个事件,mouseleftbuttonup/mouseleftbuttondown/mousemove,只有处理好这三个时间的逻辑,便可以比较容易的实现

5.一个不错的布局,通过家在不同的UserControl到一个主页面,即给定一个页面,对这个页面进行切分,比如分为hear/menu/content/footer/这样的UserControl进行单独制作,最后在一个主页面,引入这样usercontrol便可,这个是silverlight很推崇的思想。

6.使用渐变效果实现一个星空,花两个十字交叉的矩形,在矩形中间花一个渐变的圆即可。

7.自定义拾色器,这个主要用到一下代码:

SolidColorBrush scb = new SolidColorBrush(Color.FromArgb((byte)sldA.Value, (byte)sldB.Value, (byte)sldG.Value, (byte)sldB.Value));