- 博客(111)
- 资源 (32)
- 收藏
- 关注
转载 WPF中Binding数据校验、并捕获异常信息的三种方式
WPF在使用Binding时,经常需要进行数据校验,如果校验失败需要捕获失败的原因,并加以展示,本文主要介绍数据校验异常并捕获的三种方式。点击继续调试,会出现如下效果,调试状态下会比较难受,但是在程序打包运行后,效果和之前一样,但是不推荐这样,比较消耗资源。想要获得错误内容,需要用Validation.Errors静态函数,获得一个集合,一般都是一条数据。可以自定一个类,继承自ValidationRule,类中包括验证规则。如果不是依赖属性,可以利用引发异常的方式来让XAML来捕获。
2024-03-04 13:51:29 49
原创 关于c#:BindingProxy:绑定到索引属性
我的问题是,在ContextMenu中选中/取消选中CheckBox不会更改ColumnsVisibility [ElementName]的值。我有一个BindingProxy将DataGrid的DataGridColumns的可视性-属性绑定到字典中的值(" ColumnsVisibility")。如果在InitializeComponent()之前用信息填充了字典" ColumnsVisibility",则将应用初始设置,即应用了我将DictionaryEntry设置为的值。
2023-08-28 09:48:47 777
原创 ASP.NET中JSON的序列化和反序列化
在网站应用中使用JSON的场景越来越多,本文介绍ASP.NET中JSON的序列化和反序列化,主要对JSON的简单介绍,ASP.NET如何序列化和反序列化的处理,在序列化和反序列化对日期时间、集合、字典的处理。var userlist=[{"user":{"name":"张三","gender":"男","birthday":"1980-8-8"}},{"user":{"name":"李四","gender":"男","birthday":"1985-5-8"}}];JSON是“名值对”的集合。
2023-07-23 17:54:09 735
原创 WPF MVVM之INotifyPropertyChanged接口的几种实现方式
借助WPF/Sliverlight强大的数据绑定功能,可以比实现比MFC,WinForm更加优雅轻松的数据绑定。但是在使用WPF/Silverlight绑定时,有件事情是很苦恼的:当ViewModel对象放生改变,需要通知UI。但问题就出现这里……也很难跟踪,但是这个细微的错误可以导致一个很严重的运行时错误。情形:现在需要将一个Person对象的Name熟悉双向绑定到UI中的TextBox,的确这是一件很简单的事情,但还是描述下:。这里用使用的静态扩展语法,我还是比较喜欢这个的,但是并不是所有人都喜欢哦。
2023-07-22 21:19:29 691
原创 继续聊WPF——Thumb控件
这个控件,真不好介绍,MSDN上也是草草几句,反正就是可以让用户拖动的玩意儿,但是,你会发现,当你在该控件上拖动时,它没有反响,也就是说这个东西默认不做任何操作的,它是赖在那里什么都不干,除非你去踢上脚。可以这样想象一下,开始拖动时把控件变成灰色,在拖动过程中改变控件的位置(前面说了,它默认不做任何动作,所以要手动处理),当完成后把外观恢复,这样就经过了这三个事件。而且,这个控件就像一个四方鸭,你踢一脚它就前进一步,你不踢,它又在那里尸位素餐,什么都不干了。Thumb有几个核心事件,都是与拖动有关。
2023-04-07 15:25:44 1255
原创 C#中通过HttpClient发送Post请求
而和上面总结的一样FormUrlEncodedContent只是一个特殊的StringContent罢了, 唯一不同的就是在mediaType之前自己手动进行一下URL编码罢了(这一条纯属猜测, 逻辑上应该是没有问题的).我们可以看到, 尽管PostAsync有四个重载函数, 但是接受的都是HttpContent, 而查看源码可以看到, HttpContent是一个抽象类。c# 使用HttpClient的post,get方法传输json。C#中HttpClient进行各种类型的传输。
2023-03-10 09:29:17 4336
原创 WPF DataGrid控件的使用 使用列模板来进行数据格式的美化
【代码】WPF DataGrid控件的使用 使用列模板来进行数据格式的美化。
2023-03-09 11:52:44 1008
原创 WPF 自定义DataGrid控件样式模板5个
要实现表头拖动,使用上面的样式代码是不行的,上面的样式代码去掉了拖动的控件。上面的代码实现了隔行换色的效果,但是没有鼠标选中效果。CanUserReorderColumns:获取或设置一个值用来判断是否允许用户重新排列表列的位置。AreRowGroupHeadersFrozen:获取或设置一个值用来判断是否冻结分组行的头部。AreRowDetailsFrozen:获取或设置一个值用来判断是否冻结每行内容的详细信息。RowDetailsTemplate:获取或设置被用于显示行详细部分的内容的模板。
2023-03-09 11:30:10 8120
原创 WPF 模板选择器
在Window.Resources中定义了两个模板HighTemplate和LowTemplate。由于需要提前在程序内定义多套模板,会影响程序性能和开销,所以慎用;根据学生成绩结果来选择不同的模板展示数据。
2023-03-09 11:12:55 789
原创 WPF 行为的用法(Behavior)
通过AssociatedObject(关联对象:是行为的关联对象,类型为我们指定的FrameworkElement),实现实际行为的触发:鼠标移入,背景高亮效果。行为的用法有些类似触发器的效果,但是触发器一般只能适用同一种的控件;而一个行为可以用在不同控件下(指定相同的父类);在OnDetaching方法中移除鼠标响应事件处理方法。在OnAttached方法中添加鼠标响应事件处理方法。WPF 行为的用法(Behavior)鼠标移入控件中会出现红色高亮阴影。
2023-03-09 08:59:22 195
原创 WPF 使用RelativeSource绑定
如果想让textbox的width和height相同,通过设置属性Height="{Binding RelativeSource={RelativeSource Self},Path=Width}" 就可以实现。在WPF绑定的时候,指定绑定源时,有一种办法是使用RelativeSource。举一个最简单的例子:在一个StackPanel中,有一个TextBlock。指定绑定源为某个父元素, 中Label的背景色和Grid的背景色一样。这种办法的意思是指当前元素和绑定源的位置关系。第一种关系: Self。
2023-03-09 08:50:00 604
原创 WPF 用户控件Loading(加载)样式
WPF 用户控件Loading(加载)样式 首先添加一个用户控件:usercontrol。WPF 用户控件Loading(加载)样式。
2023-03-09 08:44:00 1060 2
原创 WPF 自定义一个MessageBox控件
UMessageBox.Show("提示:", "欢迎使用!WPF 自定义一个MessageBox控件。
2023-03-08 14:15:55 594
原创 WPF绑定(Binding)下的数据验证IDataErrorInfo
从上面看出,利用索引器和属性名称可以判断是否为某些特性的值,但是这样写仍然太过麻烦,如果一个类中有大量的属性,要为每个属性进行判断,这样会有大量的if语句,可读性和可维护性都不太好。上面的这种写法可以简化验证所需要的代码,而且有很强的可读性和可维护性,如果直接把自定义的特性直接加到类上,使得该类中所有的属性都应用验证规则可以修改苏索引器,在上面所写的代码中加上。既然在索引器中我们已经有了属性名称,我们可以利用反射来简化上面的步骤。建一个继承自IDataErrorInfo的类。在重写索引器中的get方法。
2023-03-07 11:48:38 275
原创 WPF 装饰器(Adorner)
装饰器可以用来给显示的控件添加一些装饰的效果;首先添加一个装饰器类:TestAdorner。(为下面的Button四周添加了小圆圈效果)(给控件周围添加了四个红框)
2023-02-25 11:42:13 624
原创 WPF 行为的用法(Behavior)
行为的用法有些类似触发器的效果,但是触发器一般只能适用同一种的控件;而一个行为可以用在不同控件下(指定相同的父类);示例:注意先要添加引用System.Windows.Interactivity.dll类库(下载链接:https://download.csdn.net/download/qq_43024228/13674433)
2023-02-25 10:40:06 274
c#namepipe实例,c#命名管道实例
2017-08-31
基于短信猫的短信发送系统
2017-08-31
C# Winform 获取当前路径.txt
2012-12-12
asp.net图书管理系统
2011-06-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人