当前位置: 首页 > news >正文

主题资源网站创建时 如何突出设计的特点微信内转发的网页怎么制作

主题资源网站创建时 如何突出设计的特点,微信内转发的网页怎么制作,宝安网页设计培训,网站建设开发综合实训报告使用ModelLocator来管理视图 之前只是简单的介绍了一下ModelLocator的用法#xff0c;在这里要把模型和视图结合起来#xff0c;通过模型来来控制视图。在Silverlight中我们可以看到所有新建立的xaml都是继承自UserControl#xff0c;所以在这里更新欢称视图为控件。至此给出… 使用ModelLocator来管理视图 之前只是简单的介绍了一下ModelLocator的用法在这里要把模型和视图结合起来通过模型来来控制视图。在Silverlight中我们可以看到所有新建立的xaml都是继承自UserControl所以在这里更新欢称视图为控件。至此给出一个项目的结构图出来。这里我是习惯把从网上下载的第三方类库放在项目中一个Lib的目录下如果有源码的话直接加入解决方案中也是可以的。 所有的用户控件都是创建在Controls目录下。这里提到了创建用户控件所以就不得不提一下控件的DependencyProperty属性他是控件的一个静态的属性主要用来做数据绑定。 为控件创建DependencyProperty属性 创建了DependencyProperty后能更方便的和ModelLocator进行绑定。处理一些界面上的动画效果也能更加的灵活。 这里给出一个标准的代码         // Using a DependencyProperty as the backing store for TheName.           // This enables animation, styling, binding, etc        public static readonly DependencyProperty TheNameProperty              DependencyProperty.Register(TheName,                                         typeof(string),                                         typeof(Page),                                         new PropertyMetadata(,                                           new PropertyChangedCallback(                                             OnTheNameChanged)));         static void OnTheNameChanged(object sender,                                      DependencyPropertyChangedEventArgs args)         {             // Get reference to self            Page source  (Page)sender;             // Add Handling Code            string newValue  (string)args.NewValue;         } 更多关于创建自定义用户控件的请查看winter-cn 前辈的《Silverlight 2 Customized Control 开发》 写的非常的详细。我这里就不再去重复的发明轮子了 创建一个会变色的控件 这里首先看Demo 学习是一个温故知新的过程之前我写过一篇《动态创建Storyboard》这里就用上他再结合DependencyProperty做一个会变色的控件。 运用DependencyProperty结合Storyboard创建控件     public partial class BackGorund : UserControl     {         public byte R         {             get { return (byte)GetValue(RProperty); }             set { SetValue(RProperty, value); }         }         // Using a DependencyProperty as the backing store for R.           // This enables animation, styling, binding, etc        public static readonly DependencyProperty RProperty              DependencyProperty.Register(R,                                         typeof(byte),                                         typeof(BackGorund),                                         new PropertyMetadata((byte)0,                                             new PropertyChangedCallback(OnRChanged)));         static void OnRChanged(object sender, DependencyPropertyChangedEventArgs args)         {             // Get reference to self            BackGorund source  (BackGorund)sender;             source.changeColor();         }         public byte G         {             get { return (byte)GetValue(GProperty); }             set { SetValue(GProperty, value); }         }         // Using a DependencyProperty as the backing store for G.           // This enables animation, styling, binding, etc        public static readonly DependencyProperty GProperty              DependencyProperty.Register(G,                                         typeof(byte),                                         typeof(BackGorund),                                         new PropertyMetadata((byte)0,                                             new PropertyChangedCallback(OnGChanged)));         static void OnGChanged(object sender, DependencyPropertyChangedEventArgs args)         {             // Get reference to self            BackGorund source  (BackGorund)sender;             source.changeColor();         }         public byte B         {             get { return (byte)GetValue(BProperty); }             set { SetValue(BProperty, value); }         }         // Using a DependencyProperty as the backing store for B.           // This enables animation, styling, binding, etc        public static readonly DependencyProperty BProperty              DependencyProperty.Register(B,                                         typeof(byte),                                         typeof(BackGorund),                                         new PropertyMetadata((byte)0,                                             new PropertyChangedCallback(OnBChanged)));         static void OnBChanged(object sender, DependencyPropertyChangedEventArgs args)         {             // Get reference to self            BackGorund source  (BackGorund)sender;             source.changeColor();         }         public void changeColor()         {             colorAnim.To  Color.FromArgb(255, R, G, B);             storyboard.Begin();         }         private ColorAnimation colorAnim;         private Storyboard storyboard;         public BackGorund()         {             InitializeComponent();             storyboard  new Storyboard();             Brush br  this.LayoutRoot.Background;             colorAnim  new ColorAnimation();             colorAnim.To  Color.FromArgb(255, R, G, B);             colorAnim.Duration  TimeSpan.FromSeconds(1);             colorAnim.RepeatBehavior  new RepeatBehavior(1);             colorAnim.AutoReverse  false;             Storyboard.SetTarget(colorAnim, br);             Storyboard.SetTargetProperty(colorAnim, new PropertyPath(Color));             storyboard.Children.Add(colorAnim);             Resources.Add(colorsb, storyboard);             this.Loaded  new RoutedEventHandler(BackGorund_Loaded);         }     } 创建ModelLocator     public class BackGroundModel : ModelLocator     {                  private static readonly BackGroundModel _instance  new BackGroundModel();         public static BackGroundModel Instance { get { return _instance; } }         static BackGroundModel()         {         }         private BackGroundModel()             : base()         {         }         private byte _R  (byte)0;         public byte R         {             get { return _R; }             set             {                 _R  value;                 NotifyPropertyChanged(R);             }         }         private byte _G  (byte)0;         public byte G         {             get { return _G; }             set             {                 _G  value;                 NotifyPropertyChanged(G);             }         }         private byte _B  (byte)0;         public byte B         {             get { return _B; }             set             {                 _B  value;                 NotifyPropertyChanged(B);             }         }     } 控件Load时绑定属性通过模型来控制视图         void BackGorund_Loaded(object sender, RoutedEventArgs e)         {             this.DataContext  BackGroundModel.Instance;             Binding bindR  new Binding(R);             bindR.Mode  BindingMode.TwoWay;             this.SetBinding(RProperty, bindR);             Binding bindG  new Binding(G);             bindG.Mode  BindingMode.TwoWay;             this.SetBinding(GProperty, bindG);             Binding bindB  new Binding(B);             bindB.Mode  BindingMode.TwoWay;             this.SetBinding(BProperty, bindB);         }   提高效率 Shawn Wildermuth 写了一个Code Snippets能帮我们快速的创建DependencyProperty属性具体用法与下载地址请访问这里 。我自己写了一个快速创建ModelLocator的Code Snippets用法都是一样点击这里 下载。 送上视频 ViewManagerP1.wmv 基于Cairngorm的Silverlight开发 - part2 转载于:https://www.cnblogs.com/nasa/archive/2009/03/15/Cairngorm-Silverligh-part3.html
http://www.pierceye.com/news/900165/

相关文章:

  • 福永网站的建设福州
  • 抚州市临川区建设局网站eaccelerator wordpress
  • 如何让网站自适应屏幕门户网站主要特点和功能
  • 网站维护费用怎么收网站下载的软件怎么安装
  • 做电子相册的网站省住房和城乡建设厅官方网站
  • 什么是自助网站网页设计与制作课件和素材
  • 如何为网站建设内容wordpress去水印插件
  • 办公家具网站模版制作手机软件网站
  • 诚信网站认证必需做吗网站建设mfdos
  • 廊坊网站建设哪家权威网址导航大全排名
  • 北京建站公司哪个好05网电子书
  • 权威网站设计wordpress通知站点360搜索
  • 做靓号网站凡客小程序
  • 创建网站开发公司公司做个网站
  • 做网站的工具+论坛html怎么自己做网站
  • 土木在线seo网站快速整站优化技术
  • 创造力网站设计建设有限公司网站
  • 如何做网站好看做h5小程序的网站
  • 济宁网站建设价格做网站公司深
  • ae成品免费下载网站申请一个app多少钱
  • 我想自己在网站上发文章 怎样做免费观看高清正能量直播下载
  • 做网站万网长春建站模板展示
  • 广州专业建网站公司福州网站制作
  • 西安烽盈网站建设郑州营销网站托管
  • 诸几建设银行网站怎么维护好网站
  • 深圳市国外网站建设简单html5网页设计
  • 网站制作公司西南城乡建设部网站首页
  • 网站名和域名能一样吗企业网站建设硬件
  • 德州做网站公司怎么开网店淘宝
  • 苏州做网站优化的电商定制开发