WPF通过异常来验证用户输入
摘要:在WPF中使用数据绑定,如果用户输入和绑定类型转换失败,控件就会显示出现错误的模板, 比如一个Textbox绑定到一个int 属性,如果用户输入一个string,那这个textbox就会显示错误模板,一般会是在TextBox外显示红线, 当然这个模板也可以自己设置。那如果这个界面有一个确定Butto
阅读全文
WPF验证之——必填验证
摘要:要事先必填验证,首先要重写ValidationRule类的Validate方法,然后在Binding中指定对应的ValidationRule。 第一步:重写ValidationRule的Validate [csharp] view plain copy public class RequiredVa
阅读全文
WPF数据验证(4)——响应与获取验证错误
摘要:1780 1780 前面的示例中,有关用户接受到错误的唯一指示是在违反规则的文本框周围的红色轮廓。为了提供更多信息,可以处理 Error 事件,但存储或清除错误时会引发该事件,但前提是必须确保已将 Binding.NotifyOnValidationError 属性设置为 True。 [html]
阅读全文
C# - 多线程(基础)
摘要:多线程 基础(Multithreading) 一些基本的关于线程和与其相关的概念 1.系统资源管理器管理进程3.线程 System.Threading.Thread也称控制点,由控制点进入Main函数,逐步执行程序4.多线程 多个控制点同时执行5.线程池 System.Threading.Threa
阅读全文
C# - LINQ 语言集成查询
摘要:LINQ(Language Integrated Query) LINQ语言集成查询是一组用于C#语言的扩展。它允许编写C#代码对数据集进行查询,这等同于使用数据库查询语句,这样程序员不必掌握数据库查询语句而是使用Linq就能完成相同的查询任务。而传统数据查询的弱点很多,比如执行简单查询也需要冗长的
阅读全文
表达式树(Expression Tree)
摘要:表达式树是不可执行的代码,它只是用于表示一种树状的数据结构,树上的每一个节点都表示为某种表达式类型,大概有25种表达式类型,它们都派生自Expression类。创建表达式树具体有两个优势: 1.对表达式树的代码进行编辑修改,使表达式树中的代码变成动态代码,根据不同的数据库修改树上的代码逻辑从而达到动
阅读全文
WPF之路——用户控件对比自定义控件UserControl VS CustomControl)
摘要:将多个现有的控件组合成一个可重用的“组”。 由一个XAML文件和一个后台代码文件。 不能使用样式和模板。 继承自UserControl类。 自定义控件(扩展) 在现有的控件上进行扩展,增加一些新的属性方法等。 包括一个代码文件和一个默认的主题文件。 可以使用样式和模板。 构建控件库的好方法。 Use
阅读全文
wpf创建用户控件(计时器控件)
摘要:在vs中新增用户控件 前台xaml如下代码: CS代码: 接下来就是在MainWindow.xaml文件中对该控件进行引用 在前台页面命名空间写入 xmlns:zhControls="clr-namespace:Zh.SelfServiceEquipment.UI.ZhControls" 其中zhC
阅读全文
WPF 命令
摘要:RoutedCommand类 当创建自己的命令时,不会直接实现ICommand接口,而是使用System.Windows.Input.RoutedCommand类。它是WPF中唯一实例了ICommand接口的类,它为事件冒泡和隧道添加了一些额外的基础结构。为了支持路由事件,RoutedCommand
阅读全文
WPF自定义DataGrid分页控件
摘要:新建Custom Control,名:PagingDataGrid 打开工程下面的Themes\Generic.xaml xaml里面代码替换如下 1 <Style x:Key="{x:Type loc:PagingDataGrid}" TargetType="{x:Type loc:PagingD
阅读全文
WPF ----在UserControl的xaml里绑定依赖属性
摘要:场景:在定义wpf 用户控件的时候,希望使用时设置自定义的属性来改变用户控件里的状态或内容等。 下面直接上实例代码: 用户控件的后台代码,定义依赖属性 Xaml 代码中绑定依赖属性 下面是自定义控件的使用实例: 希望对大家有用!
阅读全文
wpf 自定义ListBox
摘要:ListBox的样式比较简单,包括两部分: ListBoxItem项的样式; ListBox的样式; 完整代码: <Style x:Key="DefaultListBoxItem" TargetType="{x:Type ListBoxItem}"> <Setter Property="Foregr
阅读全文
WPF 自定义NotifyPropertyChanged
摘要:该工具类实现INotifyPropertyChanged接口 /// <summary> /// 实现了属性更改通知的基类 /// </summary> public class BaseNotifyPropertyChanged : System.ComponentModel.INotifyPro
阅读全文
WPF 使用附加属性增加控件属性
摘要:使用附加属性增加控件属性,使得这个附加属性在使用的时候没有局限性,可以在任何的控件中使用它来增加所需要的属性,使得控件的属性使用起来非常灵活 一、自定义附加属性 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
阅读全文
Dependency Property 依赖属性
摘要:依赖属性就是一种可以自己没有值,并能通过使用Binding从数据源获得值(依赖在别人身上)的属性。拥有依赖属性的对象称为“依赖对象”。 WPF开发中,必须使用依赖对象作为依赖属性的宿主,使二者结合起来。依赖对象的概念被DependencyObject类所实现,依赖属性的概念则由DependencyP
阅读全文
一站式WPF--依赖属性(DependencyProperty)二
摘要:书接上文,前篇文章介绍了依赖属性的原理和实现了一个简单的DependencyProperty(DP),这篇文章主要探讨一下如何使用DP以及有哪些需要注意的地方。 回顾 依赖属性是由DependencyObject来使用的,那么一个典型的使用场景是什么样呢? 使用DependencyProperty
阅读全文
WPF 附加属性的用法 (一)
摘要:给Label附加双击事件 原文:http://www.cnblogs.com/ptfblog/archive/2011/07/11/2103183.html 绑定有两个需要注意的地方 1.如果绑定到 附加属性(Binding Attached Property),需要加上括号,这个比较特别,例如 2
阅读全文
WPF整理-为控件添加自定义附加属性
摘要:附加属性,大家都不陌生,最常见的是Canvas.Left/Canvas.Top,类似的也有Grid.Row/Grid.Column等附加属性。举个最常见的例子 需要说明的是并不是所有的附加属性都是元素放进去后才会有附加效果,上面的例子只是刚好是这种错觉的巧合情况,Grid.Row也属于这种巧合。还是
阅读全文
WPF的依赖属性
摘要:一、什么是依赖属性 依赖属性就是一种自己可以没有值,并且可以通过绑定从其他数据源获取值。依赖属性可支持WPF中的样式设置、数据绑定、继承、动画及默认值。 将所有的属性都设置为依赖属性并不总是正确的解决方案,具体取决于其应用场景。有时,使用私有字段实现属性的典型方法便能满足要求。MSDN中给出了下面几
阅读全文
WPF MVVM(Caliburn.Micro) 数据验证
摘要:书接前文 前文中仅是WPF验证中的一种,我们暂且称之为View端的验证(因为其验证规是写在Xaml文件中的)。 还有一种我们称之为Model端验证,Model通过继承IDataErrorInfo接口来实现,这个还没研究透,后面补上。 WPF MVVM Model端验证-待续 今天的主要内容是MVVM
阅读全文
WPF中的数据验证
摘要:数据验证 WPF的Binding使得数据能够在数据源和目标之间流通,在数据流通的中间,便能够对数据做一些处理。数据转换和数据验证便是在数据从源到目标 or 从目标到源 的时候对数据的验证和转换。 ValidationRule 验证规则 WPF中提供了一个抽象类ValidationRule,我们自定义
阅读全文
关于WPF的验证
摘要:引言 数据验证在任何用户界面程序中都是不可缺少的一部分.在WPF中,数据验证更是和绑定紧紧联系在一起,下面简单介绍MVVM模式下常用的几种验证方式. 错误信息显示 在介绍数据验证之前,有必要介绍一下如何显示错误信息.方式很简单,定义一个样式触发器,将错误信息和 ToolTip绑定,如下: Valid
阅读全文
第三篇:Entity Framework CodeFirst & Model 映射 续篇 EntityFramework Power Tools 工具使用
摘要:上一篇 第二篇:Entity Framework CodeFirst & Model 映射 主要介绍以Fluent API来实作EntityFramework CodeFirst,得到了大家一些支持,其中就有一位同学就提出。熟悉了EntityFramework CodeFirst 原理,就可以用微软
阅读全文
自己动手,让Entity Framework Power Tools在VS2015重放光彩
摘要:Entity Framework Power Tools是一个由EntityFramework开发小组提供的工具,它可以从现有数据库生成Fluent款式的Code First代码。 VS Gallery主页:https://visualstudiogallery.msdn.microsoft.com
阅读全文
正确理解WPF中的TemplatedParent
摘要:(注:Logical Tree中文称为逻辑树,Visual Tree中文称为可视化树或者视觉树,由于名称不是很统一,文中统一用英文名称代表两个概念,况且VisualTreeHelper和LogicalTreeHelper也是WPF中提供的类名称) 众所周知WPF中的Logical Tree是逻辑上定
阅读全文
关于C# wpf DataGrid单元格双击设置单元格内容
摘要:1、我是使用了 visual stadio 2015, 用的C# WPF写个工具,但是发现wpf原生没有涉及表格的东西(类似 winform·的DataGridView),所以使用的是toolkit工具类中的DataGrid,作为表表格展现。 2、本意是做个单元格实现双击则单元格的内容在“自动”和”
阅读全文
在WPF的DataGrid中对行添加单击事件
摘要:在做的一个c#的项目中发现Datagrid没办法直接对鼠标单击进行响应,调用MouseDown事件也需要点击某一行第二次才能响应。所以借助EventSetter来简单的实现了一个。 界面部分的代码 对应的c#的代码 附上用mousedown事件的代码 需要在这个界面的构造函数中添加 1 再附上一个效
阅读全文
wpf datagrid 中按钮 动态显示
摘要:/若datagrid出现滚动条可能会出现问题需要加上下面俩句话。//因为出滚动条时,为了显示加速,datagrid会加载一部分数据。另一些数据当滚动时在加载进去 这样初始化获取不到这些数据。//在datagrid上添加上以下俩句话可以避免预加载数据,使数据全部加载出来EnableColumnVirt
阅读全文
WPF中DataGrid控件内Button的Command和CommandParameter的绑定
摘要:场景:视频上传功能,上传列表使用DataGrid控件,视频有不同的状态对应不同的操作,DataGrid中最后一列为操作列,里面是Button控件。希望点击Button后执行对应的操作,但是设置Button的 Command="{Binding VideoOperationCommand}"后触发不了
阅读全文
RelativeSource.TemplatedParent 属性wpf
摘要:今天看到这一句代码时候,自己只是知道绑定了,可是不知道绑定了什么啊 就去查了一下,后来说的好像是绑定的TemplateParent返回的 一个值。可是这是为什么呢, 有的说是绑定的是一个资源。 下面有一个例子 下面的示例显示名为 NumericUpDown 的自定义控件的 Style 定义。将 Te
阅读全文
wpf ComboBox设置默认值
摘要:最新的wpf的ComboBox设置默认值得方法是,给VM中的数据集合第一个元素插入一个提示项目,比如:请选择一项,然后通过数据绑定可以实现默认选中第一项,下面我就贴一下示例代码: xaml页面: [html] view plain copy <ComboBox Name="ResizeCanvas"
阅读全文
WPF Template模版之寻找失落的控件【三】
摘要:“井水不犯河水”常用来形容两个组织之间界限分明、互不相干,LogicTree与控件内部这颗小树之间就保持着这种关系。换句话说,如果UI元素树上有个X:Name=“TextBox1”的控件,某个控件内部也是由Template生成的x:Name="TextBox1"的控件,它们并不冲突,LogicTre
阅读全文
C# Unity依赖注入
摘要:简介: 控制反转:我们向IOC容器发出获取一个对象实例的一个请求,IOC容器便把这个对象实例“注入”到我们的手中,在这个过程中你不是一个控制者而是一个请求者,依赖于容器提供给你的资源,控制权落到了容器身上。这个过程就是控制反转。 依赖注入:我们向容器发出请求以后,获得这个对象实例的过程就叫依赖注入。
阅读全文
Entity Framework 无法对没有主键的视图映射实体的解决办法
摘要:我们在使用Entity Framework的时候经常会把数据库中的某一个视图映射为EF的实体,但是如果数据库视图中的列没有包含表的主键列,EF会报出警告说视图没有主键,导致视图映射为实体失败,错误如下: 表/视图“{0}”未定义主键,无法推断有效的主键。已排除该表/视图。要使用该实体,您将需要检查架
阅读全文
c#——表达式树在LINQ动态查询
摘要:一般如果逻辑比较简单,只是存在有的情况多一个查询条件,有的情况不需要添加该查询条件 简单方式这样操作就可以了 [csharp] view plain copy public IQueryable<FileImport> DynamicChainedSyntax (IQueryable<FileImp
阅读全文
C# Expression 树转化为SQL语句(一)
摘要:sql有有四中基本语句,分别是增删改查,在建立model后如何生成这四中sql语句,降低开发时间。 我们先模拟出一张学生表: public class Student { public int id { get; set; } public string name { get; set; } pub
阅读全文
自己动手写ORM(02):Sql生成器实现
摘要:上一节中鄙人通过解析表达式树生成Sql碎片,其中我也把解析表达式类代码贴了出来,文章发布之后我对ExpressionAnalyzer类做了些改动,下面我还会将代码贴出来,废话不多说,直接进入今天的主题。 实体类设计: 首先,我觉得要想直接通过实体类生成Sql语句,那么你可能要知道这个实体类对应数据库
阅读全文
自己动手写ORM(01):解析表达式树生成Sql碎片
摘要:在EF中,我们查询数据时可能会用拉姆达表达式 Where(Func<T,ture> func)这个方法来筛选数据,例如,我们定义一个User实体类 public class User { public Guid Id { get; set; } public string LoginId { get
阅读全文
C#反射设置属性值和获取属性值
摘要:在网上找没有找到,刚自己写了一个方法,供分享. 在写方法时这里有一个东西弄了很久没有搞好.就是属性类型如果是int 时,传入string字串就会设置不成功. 这里我用到了Convert.ChangeType 转换,根据属性类型自动转换.
阅读全文
linq to sql 动态构建查询表达式树
摘要:通过Expression类进行动态构造lamda表达式。 实现了以下几种类型,好了代码说话: public Expression<Func<T, bool>> GetAndLambdaExpression<T>(string[] keys,object[] values,string[] metho
阅读全文
多表连接时,主从表的确定
摘要:在进行多表的联接查询前,我们需要对多表进行相关的处理,比方说确定主从关系,建立外键,联接时确定中间表等操作. 一般情况下,建表时先建主表,再建从表,那怎么确定主从关系呢,进一步建立外键约束? 比方说,有三个表,customers表(customerid--pk,customername), orde
阅读全文
Entity Framework中的主从表关系的使用
摘要:其关系图: 我们使用Entity Framework生成映射关系如下: 其中author表中的books导航属性为一个集合,表示当前作者的书。 在页面中我们可以使用如下代码来实现: 代码中author1.books.Load();表示要装载当前作者的所有书籍,这句话很重要,否则没有内容。 其关系图:
阅读全文
在EntityFramework(EF)中删除主从表记录
摘要:删除主表: 如果要删除单个的Book对象,由于启用了级联删除,干掉一个Book,它所关联的所有BookReview也一并删除了。 (说的简单,如果用Attach方法或者Remove,加修改删除状态,只要使用之前加载的包含子表记录的对象是不行的) 先查询要删除的记录(因为有级联删除,所以不加载子表记录
阅读全文
EntityFramework(EF) 单表与主从表的使用
摘要:一、单表Reader 1 构建Reader类 public class Reader { public int ReaderID { get; set; } public string Name { get; set; } public int Age { get; set; } public st
阅读全文
EF里单个实体的增查改删以及主从表关联数据的各种增删改查
摘要:EF对单个实体的增查改删 增加单个实体 查询单个实体 修改单个实体 删除单个实体 EF里主从表关联数据的各种增删改查 增加(增加从表数据、增加主从表数据) 查询(查询导航属性为集合、查询导航属性为单个对象) 修改(修改从表的外键) 删除(删除主从表关系、删除主表数据、删除主从表数据、修改从表数据外键
阅读全文
使用表达式树和反射来访问对象属性的性能比较
摘要:今天在工作上遇到这么个需求:需要获取对象上所有属性的值,但并事先并不知道对象的类型。 我的第一反应就是使用反射,但是这个操作会进行多次,大量的反射肯定会有性能影响。虽然对我这个项目无关紧要,但我还是选择了另外一种解决方案:构建表达式树,再生成委托,然后将委托缓存在字典里。代码如下: 首先构建表达式树
阅读全文
定义通用的可通过lambda表达式树来获取属性信息
摘要:我们一般获取某个类型或对象的属性信息均采用以下几种方法: 1 2 3 4 5 6 7 8 一、通过类型来获取属性信息 var p= typeof(People).GetProperty("Age");//获取指定属性 var ps = typeof(People).GetProperties();/
阅读全文
EF 跨库查询
摘要:原因:最近公司项目,遇到一个ef跨库查询的问题。(只是跨库,并不是跨服务器哈) 主要我们的一些数据,譬如地址,城市需要查询公共资料库。 但是本身我的程序设计采用的是ef框架的。因此为这事花费了1天时间。也总算有些成效,后来采用codefirst解决了这个问题 下面我就来分享一下。 注意:当然,这里我
阅读全文
委托、匿名委托、Lambda 表达式、Expression表达式树之刨根问底
摘要:本篇不是对标题所述之概念的入门文章,重点在阐述它们的异同点和应用场景。各位看官,这里就不啰嗦了,直接上代码。 首先定义一个泛型委托类型,如下: 实现泛型委托的主体代码,并调用: public static string Add(string a, string b) { return string.
阅读全文
关于Expression表达式树的拼接
摘要:最近在做项目中遇到一个问题,需求是这样的: 我要对已经存在的用户进行检索,可以根据用户的id 或者用户名其中的一部分字符来检索出来,这样就出现了三种情况 只有id,只有用户名中一部字符,或者全部都有. 我们用的MVC+EF5.0的框架,在BLL层进行查询的 时候需要构建lambda表达式来作为查询条
阅读全文
分享动态拼接Expression表达式组件及原理
摘要:分享动态拼接Expression表达式组件及原理 前言 LINQ大家都知道,用起来也还不错,但有一个问题,当你用Linq进行搜索的时候,你是这样写的 var query = from user in db.Set<User>() where user.Username == "xxxx" selec
阅读全文
Branching / Tagging
摘要:Branching / Tagging Branching / Tagging One of the features of version control systems is the ability to isolate changes onto a separate line of devel
阅读全文
Working with JSON in C# & VB
摘要:Introduction Whilst JSON is a compact and easy to read cross-language storage and data exchange format, the flexibility that it offers sometimes requi
阅读全文
Web API 入门指南 - 闲话安全
摘要:Web API入门指南有些朋友回复问了些安全方面的问题,安全方面可以写的东西实在太多了,这里尽量围绕着Web API的安全性来展开,介绍一些安全的基本概念,常见安全隐患、相关的防御技巧以及Web API提供的安全机制。 目录 Web API 安全概览 安全隐患 1. 注入(Injection) 2.
阅读全文
#进阶系列——WebApi 身份认证解决方案:Basic基础认证
摘要:阅读目录 一、为什么需要身份认证 二、Basic基础认证的原理解析 1、常见的认证方式 2、Basic基础认证原理 三、Basic基础认证的代码示例 1、登录过程 2、/Home/Index主界面 3、WebApiCORS验证部分(重点) 四、优化 1、解决API的问题 2、解决ajax的问题 3、
阅读全文
TOKEN+签名验证
摘要:首先问大家一个问题,你在写开放的API接口时是如何保证数据的安全性的?先来看看有哪些安全性问题在开放的api接口中,我们通过http Post或者Get方式请求服务器的时候,会面临着许多的安全性问题,例如: 为了保证数据在通信时的安全性,我们可以采用TOKEN+参数签名的方式来进行相关验证。 比如说
阅读全文