ylbtech-SilverLight.3-DataControls_BetterDataFroms:二、银光验证。TheLabel、TheDescriptionViewer和TheValidationSummary
  • 1.A, 数据源
  • 1.B, TheLabel
  • 1.C, TheDescriptionViewer
  • 1.D, TheValidationSummary
1.A, 数据源返回顶部
1,
using System;

using System.ComponentModel.DataAnnotations;
namespace SL3ValidationYlbtechApp.Access
{
/// <summary>
/// 人类
/// </summary>
public class Person
{
int _personId;
/// <summary>
/// 编号【PK】
/// </summary>
public int PersonId
{
get { return _personId; }
set { _personId = value; }
}
string _username; //长度
/// <summary>
/// 姓名
/// </summary>
[Display(Name = "姓名", Description = "不许为空")]
public string Username
{
get { return _username; }
set
{
if (value == "") throw new ArgumentException("不许为空");
_username = value;
}
}
string _sex; //用户自定义
/// <summary>
/// 性别【CK】男|女|未知
/// </summary>
public string Sex
{
get { return _sex; }
set { _sex = value; }
}
int _age; //范围
/// <summary>
/// 年龄
/// </summary>
[Display(Name="年龄",Description="必须大于0")]
public int Age
{
get { return _age; }
set
{
if (value < ) throw new ArgumentException("不能小于0");
_age = value;
}
}
string _email; //正则
/// <summary>
/// 电子邮箱
/// </summary>
public string Email
{
get { return _email; }
set { _email = value; }
}
DateTime _addedDate;
/// <summary>
/// 添加日期
/// </summary>
public DateTime AddedDate
{
get { return _addedDate; }
set { _addedDate = value; }
}
string _description;
/// <summary>
/// 描述
/// </summary>
public string Description
{
get { return _description; }
set { _description = value; }
} /// <summary>
/// 空参构造
/// </summary>
public Person() { }
/// <summary>
/// 全参构造
/// </summary>
/// <param name="personId"></param>
/// <param name="username"></param>
/// <param name="sex"></param>
/// <param name="age"></param>
/// <param name="email"></param>
/// <param name="addedDate"></param>
/// <param name="description"></param>
public Person(int personId, string username, string sex, int age, string email
, DateTime addedDate, string description)
{
_personId = personId;
_username = username;
_sex = sex;
_age = age;
_email = email; _addedDate = addedDate;
_description = description;
} /// <summary>
/// GetModel
/// </summary>
/// <returns></returns>
public static Person GetModel()
{
Person dal = new Person(, "rain", "男", , "ylbtech@qq.com"
, new DateTime(, , ), "静以修身,俭以养德");
return dal;
}
}
}

4,

1.B, TheLabel返回顶部
1,
2,
2.1/3,
 xmlns:my="clr-namespace:System.Windows.Controls;assembly=System.Windows.Controls.Data.Input"

2.2/3,

<Grid x:Name="gridDetailPerson" Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="100"></ColumnDefinition>
</Grid.ColumnDefinitions>
<TextBlock Grid.Row="0" Grid.Column="0" Margin="7" Text="姓名"></TextBlock>
<TextBox Grid.Row="0" Grid.Column="1" Margin="5" Text="{Binding Username}"></TextBox> <my:Label Grid.Row="1" Grid.Column="0" Margin="7" Content="年龄" Target="{Binding ElementName=txtAge}" />
<TextBox Grid.Row="1" Grid.Column="1" Margin="5" x:Name="txtAge"
Text="{Binding Age,Mode=TwoWay, ValidatesOnExceptions=True,NotifyOnValidationError=True}"></TextBox>
</Grid>

2.3/3,

using System.Windows.Controls;

using SL3ValidationYlbtechApp.Access;
namespace SL3ValidationYlbtechApp.DataControls.BetterDataForms
{
public partial class TheLabel : UserControl
{
public TheLabel()
{
InitializeComponent(); gridDetailPerson.DataContext = Person.GetModel();
}
}
}

3,

Target="{Binding ElementName=txtAge}"

4,
1.C, TheDescriptionViewer返回顶部
1,
2,
2.1/3,  代码同上文1.B.2.1/3
2.2/3,
<Grid x:Name="gridDetailPerson" Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="100"></ColumnDefinition>
</Grid.ColumnDefinitions>
<my:Label Grid.Row="0" Grid.Column="0" Margin="7" Content="姓名" Target="{Binding ElementName=txtUsername}" />
<TextBox Grid.Row="0" Grid.Column="1" Margin="5" x:Name="txtUsername"
Text="{Binding Username,Mode=TwoWay, ValidatesOnExceptions=True,NotifyOnValidationError=True}"></TextBox>
<my:DescriptionViewer Grid.Row="0" Grid.Column="2" Target="{Binding ElementName=txtUsername}"></my:DescriptionViewer> <my:Label Grid.Row="1" Grid.Column="0" Margin="7" Content="年龄" Target="{Binding ElementName=txtAge}" />
<TextBox Grid.Row="1" Grid.Column="1" Margin="5" x:Name="txtAge"
Text="{Binding Age,Mode=TwoWay, ValidatesOnExceptions=True,NotifyOnValidationError=True}"></TextBox>
<my:DescriptionViewer Grid.Row="1" Grid.Column="2" Target="{Binding ElementName=txtAge}">
<my:DescriptionViewer.GlyphTemplate>
<ControlTemplate>
<Image Source="reg1.jpg" Stretch="None"></Image>
</ControlTemplate>
</my:DescriptionViewer.GlyphTemplate>
</my:DescriptionViewer>
</Grid>

2.1/3,  代码同上文1.B.2.3/3

3,
自定义提示图片
<my:DescriptionViewer Grid.Row="1" Grid.Column="2" Target="{Binding ElementName=txtAge}">
<my:DescriptionViewer.GlyphTemplate>
<ControlTemplate>
<Image Source="reg1.jpg" Stretch="None"></Image>
</ControlTemplate>
</my:DescriptionViewer.GlyphTemplate>
</my:DescriptionViewer>

4,

1.D, TheValidationSummary返回顶部
1,
2,
2.1/3,  代码同上文1.B.2.1/3
2.2/3,
<Grid x:Name="gridDetailPerson" Background="White">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"></ColumnDefinition>
<ColumnDefinition Width="*"></ColumnDefinition>
<ColumnDefinition Width="100"></ColumnDefinition>
</Grid.ColumnDefinitions>
<my:Label Grid.Row="0" Grid.Column="0" Margin="7" Content="姓名" Target="{Binding ElementName=txtUsername}" />
<TextBox Grid.Row="0" Grid.Column="1" Margin="5" x:Name="txtUsername"
Text="{Binding Username,Mode=TwoWay, ValidatesOnExceptions=True,NotifyOnValidationError=True}"></TextBox> <my:Label Grid.Row="1" Grid.Column="0" Margin="7" Content="年龄" Target="{Binding ElementName=txtAge}" />
<TextBox Grid.Row="1" Grid.Column="1" Margin="5" x:Name="txtAge"
Text="{Binding Age,Mode=TwoWay, ValidatesOnExceptions=True,NotifyOnValidationError=True}"></TextBox> <my:ValidationSummary Grid.Row="2" Grid.Column="0" Grid.ColumnSpan="2" ></my:ValidationSummary>
</Grid>

2.1/3,  代码同上文1.B.2.3/3

3,
文本框可以不显示在验证总要
<TextBox Margin="5" x:Name="txtPrice" Width="100" HorizontalAlignment="Left"
my:ValidationSummary.ShowErrorsInSummary="False"
Text="{Binding UnitCost, Mode=TwoWay, ValidatesOnExceptions=true,
NotifyOnValidationError=true}"></TextBox>

4,

1.E,返回顶部
 
作者:ylbtech
出处:http://ylbtech.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

SilverLight.3-Validation:二、银光验证。TheLabel、TheDescriptionViewer和TheValidationSummary的更多相关文章

  1. SilverLight.3-Validation:一、银光验证。ValidatesOnExpression和NotifyOnValidationError

    ylbtech-SilverLight-DataBindings_BindingADataObjects_Validation:一.银光验证.ValidatesOnExpression和NotifyO ...

  2. jQuery学习之:Validation表单验证插件

    http://polaris.blog.51cto.com/1146394/258781/ 最近由于公司决定使用AJAX + Struts2来重构项目,让我仔细研究一下这两个,然后集中给同事讲讲,让每 ...

  3. java实现谷歌二步验证 (Google Authenticator)

    准备: 一个谷歌二步验证APP,  我用的是ios 身份宝 资料: 1.Google Authenticator 原理及Java实现   //主要参考 https://blog.csdn.net/li ...

  4. Force.com微信企业号开发系列(一) - 启用二次验证

    微信于9月份推出企业号后引起了业界不小的反响,许多企业都在思索企业号将如何影响企业的运营,从本文开始,我将详细阐述微信企业号开发的相关知识,而本文将着重介绍如何实现更高安全机制的二次验证. 申请企业体 ...

  5. destoon 深度整合discuz x2 UC 之免邮箱二次验证

    destoon中member/my.php,信息发布入口处判断是否已在dx中做了验证,如果已经验证,则不再提示验证,否则其中dt的验证页面. 在home.php.php. group.php. for ...

  6. 基于RSA securID的Radius二次验证java实现(PAP验证方式)

    基于rsa SecurID的二次验证.RSA server自身可以作为Radius服务器,RSA也可以和其他的软件集合,使用其他的server作为Radius服务器. radius的验证的一般流程如下 ...

  7. GitHub中开启二次验证Two-factor authentication,如何在命令行下更新和上传代码

    最近在使用GitHub管理代码,在git命令行管理代码时候遇到一些问题.如果开起了二次验证(Two-factor authentication两个要素认证),命令行会一直提示输入用户名和密码.查找了一 ...

  8. emqtt 试用(二)验证 emq 和 mosquito 的共享订阅

    本地订阅(Local Subscription) 本地订阅(Local Subscription)只在本节点创建订阅与路由表,不会在集群节点间广播全局路由,非常适合物联网数据采集应用. 使用方式: 订 ...

  9. In-App Purchase iap 内付费 二次验证代码 (java 服务器端)

    参考网址:https://blog.csdn.net/a351945755/article/details/22919533 package com.yichangmao.buyVerify.Comm ...

随机推荐

  1. Robotium测试报告的生成方法(上)

    7.1 使用junit-report生成报告 这个是参考网上的:http://www.xuebuyuan.com/2148574.html,经我个人验证是可行的方法,网上写的挺详细的,不过有些不太清楚 ...

  2. 更改 Mac 上的功能键行为

    您可以将 Apple 键盘上的顶行按键用作标准功能键,或用来控制 Mac 的内建功能.   如果您的 Apple 键盘部分顶行按键上印有图标,则这些按键可用于执行每个图标所示的特殊功能.这些按键也可用 ...

  3. C++ 编程笔记

    图片有点大,请耐心下载!

  4. 6个超实用的PHP代码片段

    一.黑名单过滤 function is_spam($text, $file, $split = ':', $regex = false){ $handle = fopen($file, 'rb'); ...

  5. BZOJ1415 [Noi2005]聪聪和可可 【SPFA + 期望dp记忆化搜索】

    题目 输入格式 数据的第1行为两个整数N和E,以空格分隔,分别表示森林中的景点数和连接相邻景点的路的条数. 第2行包含两个整数C和M,以空格分隔,分别表示初始时聪聪和可可所在的景点的编号. 接下来E行 ...

  6. java 后台封装json数据学习总结(二)

    一.JSONArray的应用 从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组. /* * 从json数组中得到相应java数组 * JSONArray下的toA ...

  7. webstorm不能使用stylus

    1.https://stackoverflow.com/questions/23583514/webstorm-8-showing-errors-for-a-correct-html-tag 2. & ...

  8. shell变量的数值计算

    shell中常见的算术运算命令如下 1.(())  用于整数运算的常用运算符,效率很高 2.let 用于整数运算,类似于  (()) 3.expr  可用于整数计算,但还有很多其他的额外功能 4.bc ...

  9. element ui form表单清空规则

    公司项目重构,经过商定使用element ui.在重构项目的时候发现一下element ui上很蛋疼的东西. 例如,这个form表单就是一个.趁着在高铁上没事,把想写的东西写一下. 先说一下eleme ...

  10. bzoj 1367 - sequence

    Description 给定一个序列\(t_1,t_2,\cdots,t_n\),求一个递增序列\(z_1<z_2<...<z_n\), 使得 \(R=|t_1−z_1|+|t_2− ...