基于Cairngorm的Silverlight开发 - part4

通过绑定用视图来管理ModelLocator  

由于绑定是双向的,所以在绑定到一些可以操作其自身属性的的控件时,对ModelLocator也是有影响的。这里把上边事例中的颜色的RGB值分别绑定到三个Slider控件上。

public ColorConfig()         {             InitializeComponent();             this.Loaded += new RoutedEventHandler(ColorConfig_Loaded);         }         void ColorConfig_Loaded(object sender, RoutedEventArgs e)         {             ByteConverter bc=new ByteConverter();             this.DataContext = BackGroundModel.Instance;             Binding bindR = new Binding("R");             bindR.Mode = BindingMode.TwoWay;             bindR.Converter = bc;             xRSlider.SetBinding(Slider.ValueProperty, bindR);             Binding bindG = new Binding("G");             bindG.Mode = BindingMode.TwoWay;             bindG.Converter = bc;             xGSlider.SetBinding(Slider.ValueProperty, bindG);             Binding bindB = new Binding("B");             bindB.Mode = BindingMode.TwoWay;             bindB.Converter = bc;             xBSlider.SetBinding(Slider.ValueProperty, bindB);         }

这里用到了一个数据值的转换,有时需要把一个图片绑定到控件上,但是只有图片的Uri是不行的,要做一步转换。我给出的代码片段都是最简单的。

public class ByteConverter:IValueConverter     {         public object Convert(             object value,             Type targetType,             object parameter,             CultureInfo culture)         {             int b = System.Convert.ToInt32(value);             return (byte)b;         }         public object ConvertBack(             object value,             Type targetType,             object parameter,             CultureInfo culture)         {             byte b = System.Convert.ToByte(value);             return (int)b;         }      }

到这里就和上一篇形成了一个完整的demo了,Demo预览。 送上视频 :) ViewManagerP2.wmv 【代码下载】

基于Cairngorm的Silverlight开发 - part3

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏.Net移动开发

.Net语言 APP开发平台——Smobiler学习日志:如何在手机上实现扇形图表

1993
来自专栏跟着阿笨一起玩NET

如何实现伪双击事件

第一种方式:可以参考http://blog.csdn.net/zbssoft/article/details/5602658

481
来自专栏.Net移动开发

.Net语言 APP开发平台——Smobiler学习日志:如何在手机上实现折线图表

1042
来自专栏跟着阿笨一起玩NET

在RichTextBox中对关键字进行高亮显示

若要实现更复杂的功能,可以研究一下这个C#的IDE编辑器的代码。http://www.icsharpcode.net/OpenSource/SD/Defaul...

1430
来自专栏GreenLeaves

C#核编之System.Console类

      顾名思义,Console类封装了基于控制台的输入输出和错误流的操作,下面列举一些System.Console类常用的成员的,这些成员能为简单的命令行...

2005
来自专栏.Net移动开发

.Net语言 APP开发平台——Smobiler学习日志:在手机应用开发中如何实现线状图表

最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便

1272
来自专栏木宛城主

SharePoint 2013 Step by Step——How to Create a Lookup Column to Another Site(Cross Site)

OverView In this post,I want to show u how to add a look up column in my list or...

1925
来自专栏挖掘大数据

常用的Hadoop 文件查看工具

packages.config <?xml version="1.0" encoding="utf-8"?> <packages> <package id...

1969
来自专栏菩提树下的杨过

基于sliverlight + wcf的web 文字版IM 示例

演示地址: http://task.24city.com/default.html 预览界面: ? 一、布局 采用Grid布局,5行2列 第一行:为登录/注册信...

3376
来自专栏更流畅、简洁的软件开发方式

分页解决方案 之 QuickPager的使用方法(在UserControl里面使用分页控件的方法)

      因为我一直没有在UserControl里面使用过QuickPager分页控件,我都是直接在.aspx里面使用,所以这个bug一直没有发现。后来告诉我...

1917

扫码关注云+社区