专栏首页c#开发者Silverlight 4 RIA Service dataform Template, 代码选择控件,Validate验证使用技巧

Silverlight 4 RIA Service dataform Template, 代码选择控件,Validate验证使用技巧

Silverlight 4 RIA Service dataform Template, 代码选择控件,Validate验证使用技巧

功能

定义只读,新增,编辑三块模块

定义模板的目的是更好的复用和提高XAML代码的可读性和可维护性,也可以更好的分工合作。下面是一个归并关系的维护界面。

主要有表头,多个表体组成,为了把所有操作尽量在一个页面中完成,表头使用一个DataForm空间,表体使用DataGrid和DataForm组合实现。

而DataForm有三种状态分别是只读(显示不可编辑),编辑,新增。因此我们需要为这三种模板来控制每个控件的布局和属性,比如只读状态下空间的IsReadOnly为True,编辑状态下,关键字字段的IsReadOnly为True,其他字段可以编辑,编辑状态使用选择控件方便输入,新增状态下,对于关键字段和必填字段需要用粗体字体显示(默认)或其他形式提醒操作用,这都需要在不同的模板中定于。

提示:布局使用Data Filed控件系统默认根据DataForm控件的状态改变Data Field编辑状态

下图是编辑状态下的布局

模板文件

XAML代码

自定义代码选择控件,快速输入控件

最常见的单机放大镜弹出所有记录选择后返回页面或是在一个TextBox中输入一个代码(料号)自动带出名称,单位,单价等信息实现快速输入。如果用asp.net需要写需要JavaScript代码,而使用Silverlight则非常容易就能实现。

XAML代码;

通过把需要带出的字段绑定到自定义控件上。

Silverlight代码

属性绑定代码

赋值代码

为了提高代码的可读性,推荐使用匿名方法

类似的简单的CodeValue的选择使用AutoCompleted控件自己小改一下便可实现

下面是实现代码,名称快速转换的实现,显示名称保存代码

定义一个Converter,和一个代码组的数据源

数据源继承一个接口方便转换时使用

字段输入验证(唯一性验证)

通过对DomainService生成的metadata class的字段添加属性进行验证。为了更好维护对验证数据的提示信息,可以使用资源文件保存比如,验证支持特定属性和正则表达式,自定义验证

代码

唯一性验证

需要对提示用户输入的信息重复了

代码

注意:这里需要添加一个编译条件,不然无法编译过去。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 离写出大师级代码只差这一步

    离写出大师级代码只差这一步 大师级代码简单的说就是写得流畅,看的舒服,就像《海上钢琴师》影片里的1900弹奏钢琴一样。没看过的可以下着看一下非常经典。如果写代...

    阿新
  • Coolite Toolkit非常棒的控件

    Coolite Toolkit非常适合做web应用程序的开发,它提供了很多专业的Asp.net输入/验证/显示控件,和页面布局的框架,同时完全支持ajax,因为...

    阿新
  • ios-zbar scanview 根据扫描区域切割图片

    在scanview中添加扫描区域 ZBarReaderViewController *reader = [ZBarReaderViewController ne...

    阿新
  • 定义横向和纵向不同的print样式

    最近优化了 中文诗歌 的打印样式, 由于 Chrome 在打印的时候可以选择横向或者纵向的布局, 所以想同时支持两种布局。

    用户1416054
  • 高性能服务器架构思路(四)——编码复杂度和通信

    以前我们的代码,从上往下执行,每一行都会占用一定的 CPU 时间,这些代码的执行顺序,也是和编写的顺序基本一致,任何一行代码,都是唯一时刻的执行任务。当我们在编...

    凯哥Java
  • 高性能服务器架构思路(四)——编码复杂度和通信

    以前我们的代码,从上往下执行,每一行都会占用一定的CPU时间,这些代码的直接顺序,也是和编写的顺序基本一致,任何一行代码,都是唯一时刻的执行任务。当我们在编写分...

    韩伟
  • 高性能服务器架构思路(四)——编码复杂度和通信

    以前我们的代码,从上往下执行,每一行都会占用一定的 CPU 时间,这些代码的执行顺序,也是和编写的顺序基本一致,任何一行代码,都是唯一时刻的执行任务。当我们在编...

  • K8s基本概念入门

    k8s是一个编排容器的工具,其实也是管理应用的全生命周期的一个工具,从创建应用,应用的部署,应用提供服务,扩容缩容应用,应用更新,都非常的方便,而且可以...

    SRE运维实践
  • Atari联合创始人去世,为什么游戏对AI很重要?

    新智元
  • 让异常处理代码更健壮

    来源:dzone.com/articles/good-exception-handling

    芋道源码

扫码关注云+社区

领取腾讯云代金券