随笔分类 - Silverlight
主要是平时学习Silverlight遇到的一些记录
摘要:上一篇简单介绍了配置应用程序使客户端获取WCF抛出的SOAP异常,但是这些SOAP异常信息只包含InnerException ,Message,StackTrace,但是在实际情况中,我们 可能需要提供更详细的信息,在WCF中可以发送给客户端未声明的和声明的两种类型的SOAP错误,上一篇文章实际上是使用了未声明的SOAP错误。 本篇在上一篇的基础上演示通过WCF提供的FaultContractAttribute声明服务操作中的错误: 1.自定义一个用于错误契约的自定义类型 [DataContract] public class DataAccessFault { [DataMember] p.
阅读全文
摘要:在阅读本文前,你应该已经对Sl与WCF的编程模型有所了解。当使用WCF与Siverlight进行通信时,一旦服务端处理数据发生了异常,尽管Silverlight客户端可以使用 AsyncCompletedEventArgs.Error属性判断是否发生错误,但是由于默认情形下WCF的异常信息无法传递到客户端,这导致我们无法准确的判断错误的原因。 图1 关于这个问题,MSDN上已经对此进行了阐述:在 Silverlight 中创建和处理错误 ,这篇文章已经将原理解释的很清楚了。不过根据MSDN上的步骤, 在Sl应用程序中会遇到一些问题,本篇文章则带你按步实现Silverlight获取WCF的错误.
阅读全文
摘要:最近忙着毕业设计的收尾工作,一转眼就快说结束了,不管这四年怎样走过来的,对未来依然充满希望与愿景。 这篇依然是关于DataGrid的Template中小问题的解决方案: 当点击DataGrid一行时默认会将其高亮显示,这时点击的单元格与当前行背景会有所区别,在只读模式下,可能需要隐藏这些细节,如下图1,2是修改前后的效果 很明显这时通过修改Cell的Style达到的效果 <Style x:Key="DataGridCellStyle1" TargetType="sdk:DataGridCell"> <Setter Property=&q
阅读全文
摘要:最近Silverlight 5 Beta发布,作为专注于Silverlight的开发人员,我还是很高兴的,至少证明Sl依然还在完善,还在发展。 闲话少说,这篇帖子主要是解决DataGrid开发中常见到的问题: 当DataGrid出现ScrollView时,如果对其进行拖动,你会发现DataGrid中的CheckBox和Expander会发生错乱的情形 通过对DataGrid的Template中的ScrollView中添加一个DataGridRowsPresenter可以有效的解决该问题: <ScrollViewer > <sdk:DataGridRowsPresenter x
阅读全文
摘要:大约半年前,写了一篇把ASP.NET应用程序发布至IIS7的文章,因为SL4是宿主在ASP.NET页面上的,所以其部署是大同小异, 这篇文章主要记录下部署带有.svc,.asmx等文件的SL应用程序过程中遇到的几个问题 发布.svc的页面时,首先需要安装IIS中的WCF组件,这里网上已经有详细的步骤:IIS承载svc文件 问题1:404.17 Not Found,所请求的文件是静态文件 这个问题其实很普遍,几乎大部分人都会遇到,解决方法:安装IIS后安装.NET Framework 问题2:禁止浏览目录 解决方法:IIS7的一个明显的优势就在于页面下方提供了一些常见问题的解决方案, 点击“目.
阅读全文
摘要:最近使用Blend制作了一个下载动画,感觉很有意思,所以这篇给各位介绍下如何使用Blend制作一个简单的下载动画的步骤 首先拖出一个圆,参数如下: 选中椭圆后单击Properties面板,选择“Fill”,选择“线性渐变”画笔 选择工具箱中的 ,可以看到椭圆上出现一个渐变箭头。 按照Alt键,拖动渐变的中心点: 调整后,椭圆大约如上所示,下面继续添加长宽均为60,画笔为白色的圆形 选择这两个图像,在“对象”菜单中分别操作对齐|水平居中,对齐|垂直居中命令,这个时候,两者会重叠在一起 在“对象”菜单中,执行分组|Canvas命令,命名为loading 现在图像已经创建好了,开始制作一个简单的动.
阅读全文
摘要:已经第5篇了,仍然希望自己坚持下去,最近园子里关于Silverlight的文章越来越多了,希望有更多的人推动这门技术的发展。 这篇文章将主要介绍下TreeView和ComboBox的数据绑定的简单应用 TreeView 关于TreeView的应用,这篇文章给出了一个很好的示例,但是它并不是MVVM方式下的,所以本篇文章关注下通过绑定数据方式显示Tree结构。 首先定义一个实体类: public class Employee { public string Name { get; set; } public int ParentId { get; set; } public int Id { .
阅读全文
摘要:又到开学季节,或许过了这次,人生再也没有开学的机会了,临近毕业的时候,才发现四年就快过去了,才发现有多想留住时间,先不感慨了,这篇继续记录几个小的Tips。 ItemsControl中添加ScrollViewer 修改ControlTemplate,将ScrollViewer添加至ItemsPresent中即可获取元素的相对坐标 最普遍的场景是获取子控件中相对父控件的的坐标 当子元素在父元素的左边或者上面,坐标值会是负数。 如果要获得绝对位置,那么计算元素相对根元素的位置 在某个场景中,我们需要获取某一个区域(点)内的对象,这可以使用Silverlight中的VisualTreeHelpe
阅读全文
摘要:这个系列,主要是将自己平时遇到的或者从网上看到的小知识整理下,好记性不如烂笔头,这样方便日后再碰到这些问题方便查看。 Silverlight插件居中显示 网上有很多方式,Silverlight插件是通过object/进行声明的,那么这里就用到CSS的概念了,直接对div的样式设置即可 这是我在实际运用中处理的方式,涉及到Css,不解释。动态加载dll Silverlight中支持应用程序缓...
阅读全文
摘要:这个系列,主要是将自己平时遇到的或者从网上看到的小知识整理下,好记性不如烂笔头,这样方便日后再碰到这些问题有所帮助,希望自己一直能坚写。 调用JS方法 实际上我接触Siverlight是从1.0开始的,那时候的交互全是用JS写,虽然Silverlight2.0后,支持托管API的编程模型,但是 实际上做Web开发与Js打交道是必不可少,所以Silverlight2以后的版本也支持用托管代码调用JS 主要的交互都是与System.Windows.Browser.HtmlPage这个类相关的,Invoke方法中,HelloWorld是我在前台用Js写的function名,后面则跟着参数。 触发M
阅读全文
摘要:到年底了,手头上的任务暂时也告一段落,公司的产品Web端最近升级到了SL4,终于可以完全脱离了用VS08开发时没有可视化设计器所受到的折磨。 利用年前这几天空闲时间,将平时遇到的问题和在网络上看到的整理整理,就算是对知识的整合吧。 DataPicker的水印处理 如果你想改变这里水印的内容,或许这并不是太容易实现的,在DatePicker控件内容有一个类型为DatePickerTextBox的部件公开了一个Watermark属性 那么改变这个水印最容易的方式,就是从继承DataPicker继承,并重写OnApplyTemplate()即可 把这个控件放到页面中,你会看到这样的效果 如果你想
阅读全文
摘要:在Silverlight4版本中,RichTextBox这个控件算是很受期待的控件了,希望通过这篇文章让你对该控件有所了解。 在Sl中,有TextBox,TextBlock,RichTextBox这3个核心的文本控件,从表面上看,RichTextBox看起来和一个普通的TextBox并 没有太多的区别,实际上它提供了诸如格式化文本,段落,超链接,内联图像这些功能,它甚至可以显示任何UIElement,比如DataGrid。 MSDN有关于RichTextBox内容模型的一个关系图 RichTextBox的内容属性是Blocks,这是一个Paragraph的集合,这些Paragraph可以包含
阅读全文
摘要:Silverlight中的ControlTemplate(1)-概念 Silverlight中的ControlTemplate(2)-概念 Silverlight中的ControlTemplate(3)-Blend设计ControlTemplate 上一篇我是通过Blend简单的演示如何修改ControlTemplate,这一篇关注VSM这个部分。 概念的东西就不再重复了,这篇通过Blend演示如何一步一步设计VisualStateManager 首先在WorkSpace上放置一个椭圆,这里设置一下其Name和Fill属性 在Blend3中,对一个FrameworkElement元素应用动
阅读全文
摘要:Silverlight中的ControlTemplate Silverlight中的ControlTemplate(2) 前面2篇文章主要说明了ControlTemplate中相关的知识,这篇在前面理论的基础上,学习如何通过Blend来修改控件的ControlTemplate 因为这几天正好在看Toolkit中的Chart,这篇就以Chart控件来演示 默认的饼状图的样式是这样的,下面我一步一...
阅读全文
摘要:Silverlight中的ControlTemplate介绍了ControlTemplate的相关的几个知识,这篇继续介绍剩余的内容 上文我们已经为Tooltip的ControlTemplate添加了视觉状态管理,结构如下: 在应用了VisualState的ControlTemplate中ToolTip中,当你的ToolTip状态为Open时,直到1秒钟之后你才会看到设置的动画效果,因为在默认状...
阅读全文
摘要:在ASP.NET中,我们看到的Control都是通过浏览器渲染Html产生的,说实话刚做Web的时候,需要掌握很多的知识,比如Js,Css,Ajax,这些需要学的东西 很多,而且每一个都几乎是一个全新的知识,再加上自己没多少艺术细胞,所以做出来的效果总是很丑陋,连自己都看不下去,更何况别人了。所以当初自己刚接触 Silverlight时,就立刻被其绚丽的UI震撼了。 最近因为工作需要,研究了一下...
阅读全文
摘要:这些天做一个小型的CMS,也就几张表,用WCF+LINQ2SQL+Silverlight这种方式开发的,对最常用的控件如DataGrid,DataForm以及Toolkit里其它一些控件的用法有了一定的了解,同时参照JV9的教程,把Silverlight里的验证机制仔细的学习了一下,前段时间学习的MVVM框架也派上了用场,感觉用MVVM模式后,客户端的代码维护和分层相对简化了不少。 今天把自己遇...
阅读全文
摘要:这几天一直与ListBox打交道,对ListBox的了解也加深了一层,这篇文章把相关的思路写下来,为了简化起见,省略了一些无关重要的东西 首先声明数据源对象,这里以一个简单的类为例 数据源已经建立好了,现在将其绑定到ListBox中,这里需要横向绑定,SDK中有横向绑定的实现,这里就不再进行细说,按照需求,当鼠标移到FirstName时提示关于LastName的信息,才开始做的时候总是无法显示提...
阅读全文
摘要:OpenFileDialog与SaveFileDialog对话框多用在文件上传与保存的场合,从WinForm时代就接触这2个API了,这篇文章就把这部分知识点整理一下,也方便日后使用时查阅。 首先熟悉一下这两个API,先以文本方式为例: 将一个txt文件读取到文本框中,就使用了OpenFileDialog打开文件 当我们打开这个a.txt文件时,就会将文件中的信息读取到文本框中 现在则看看将...
阅读全文
摘要:这几天都专注于独立存储的学习,TerryLee的文章分析的很详细,笼统的讲,如果忽略一些概念性上的东西,操作独立存储和系统的物理文件系统没有什么区 别,只不过这其中又多了个类似Cookie机制的独立存储配置概念。 那么专业一点讲,独立存储的API只能进行低信任级别的虚拟文件系统访问,但是它里面提供的File,Directory与我们操作物理文件系统的所提供的API操作方法上 是一致的,对于其使用...
阅读全文