
WPF
woniudaidai
这个作者很懒,什么都没留下…
展开
-
【WPF】CollectionView与CollectionViewSource介绍
1.什么是CollectionViewCollectionView叫做列表视图,当将列表数据绑定到前端控件时,WPF默认会在两者中间生成一个CollectionView层,该层可以进行排序、分组或过滤等操作。2.为什么需要CollectionViewCollectionView是针对列表数据的一个映像,它不会改变数据,排序、分组等操作针对的是映像数据。这样针对同一组数据,可以同时为用户提供多种展示方式。3.CollectionView的具体应用当将列表控件的Items直接绑定到数据列表时,此时不会原创 2020-06-01 17:23:51 · 2846 阅读 · 0 评论 -
【WPF】自定义Windows窗口样式
文章目录前言一、程序文件结构二、具体实现1.资源文件generic.xaml代码2.Window派生类CustomWindow.cs3、普通窗口4、对话框窗口五、实现效果前言WPF中的很多控件都可以直接修改其样式,但对于Window控件,无法通过简单的style来修改其样式,本文提供了一个实现任意风格window的方法。一、程序文件结构为了实现任意风格的Window,就需要重写Window的默认模板,首先是创建Window的派生类,并创建自定义style,重写DefaultStyleKey属性将原创 2021-01-29 10:47:58 · 4168 阅读 · 0 评论 -
【WPF】Invoke与BeginInvoke的区别
在WPF多线程编程中,经常要在工作线程中更新界面显示,Invoke和BeginInvoke即是为了解决此类问题。在WPF多线程编程模型中,通过Dispatcher调度程序,来管理UI工作项队列,并拥有应用程序主线程,在大多数WPF应用程序中,只存在一个用户界面线程和一个调度器。在非UI线程更新UI,通过调用Invoke和BeginInvoke来实现,那么两者有什么区别呢?不同点:Invoke是同步更新,会阻塞所在工作者线程,BeginInvoke是异步更新,不会阻塞当前线程。Invoke调用后原创 2020-11-27 15:49:41 · 4586 阅读 · 0 评论 -
【WPF】MultiDataTrigger使用实例
前言在Windows记事本,Word等文档编辑器中,默认保存按钮是置灰不可用的,只有在修改了文档之后,保存按钮才使能可用。最近的工作中遇到这样一个场景,有一个用户信息输入框,只有在用户信息项全部输入且没有非法输入时,保存按钮使能。这里在WPF中通过DataTrigger实现了一个简化实例。一、窗口界面及实现的功能只有在至少选择一个性别后,Save按钮使能,首先想到的是将保存按钮的I总结提示:这里对文章进行总结:例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas原创 2020-11-13 10:22:36 · 2073 阅读 · 0 评论 -
【WPF】数据验证中ValidationStep的含义
介绍了数据验证中Validate的作用原创 2020-10-19 20:13:17 · 1692 阅读 · 0 评论 -
【WPF】转载:利刃 MVVMLight
转载MVVM及MVVMLight学习的系列文章:利刃 MVVMLight转载 2020-08-06 11:16:51 · 276 阅读 · 0 评论 -
【WPF】Command Binding: InvokeCommandAction 与 EventToCommand的区别
采用InvokeCommandAction时,只能通过CommandParameter传递参数,但不能传递事件参数<Button> <i:Interaction.Triggers> <i:EventTrigger EventName="MouseEnter" > <i:InvokeCommandAction Command="{Binding FooCommand}" /> </i:Ev原创 2020-08-04 15:17:17 · 4216 阅读 · 0 评论 -
【WPF】数据视图的排序、过滤、分组功能介绍
WPF中数据视图提供了许多功能,如过滤、排序、分组等过滤在将集合作为数据源时,可使用视图对象的Filter属性设置过滤器,Filter属性接收一个Predicate委托,委托指向自定义的筛选方法:ListCollectionView view = (ListCollectionView)CollectionViewSource.GetDefaultView(this.ProductList);view.Filter = new Predicate<object>(DoFilter)原创 2020-08-04 14:51:19 · 2103 阅读 · 0 评论 -
【WPF】数据视图的理解与简单应用
当将集合绑定到ItemControl控件(如DataGrid)时,会默认在后台创建数据视图,位于数据源及控件之间。数据视图是进入数据源的窗口,可以跟踪当前项,支持过滤、排序、分组等功能。数据视图的功能与数据源是相互独立的,因此可实现相同的数据源使用不同的方式绑定多个不同的数据视图,如,一个数据源的两个视图根据不同的过滤条件显示不同的记录。所有的视图对象都继承自CollectionView类,ListCollectionView与BindingListCollectionView是继承自该类的特殊实现.原创 2020-08-04 11:37:24 · 770 阅读 · 0 评论 -
【WPF】Behavior的理解与简单使用
在WPF中,样式提供了一组属性设置的实用方法,可以简单的认为样式的作用是外观重用。许多WPF程序或控件还涉及到一些通用的功能,如驱动动画、实现平滑效果、拖放、缩放等,因此Expression Blend创作者开发了称为行为(behavior)的特征,其思想很简单:构建封装了一些通用用户界面功能的行为,可以是基本功能或复杂功能,功能一旦构建,可以将它们添加到任意应用程序的另一控件中,通过将该控件链接到适当的行为并设置行为属性来实现。行为是Expression Blend的特性,WPF应用时需要引入Mic.原创 2020-07-31 17:37:48 · 2547 阅读 · 0 评论 -
【WPF】Calendar日历控件选择完日期后,没有释放焦点问题
Calendar控件日期选择后,没有释放焦点,导致同一窗口的其它控件无法获取到鼠标事件,需要先点击一次获取焦点,点击第二次时才有效。有以下两种解决方法:private void Calendar_PreviewMouseUp(object sender, MouseButtonEventArgs e){ //第一种 if (Mouse.Captured is CalendarItem) { Mouse.Capture(null); } //第二种 i原创 2020-07-22 17:23:24 · 1122 阅读 · 1 评论 -
【WPF】x:reference的理解
这里写自定义目录标题在WPF前端绑定时,通常会遇到x:reference和ElementName,这两种方式有什么区别呢?ElementName是通过查找可视树找到对应控件,但有些控件,如DataGrid控件中的Header属性,MenuItem中的Header属性,不在可视树中,便找不到对应控件,此时可采用x:reference替代。...原创 2020-06-01 11:50:59 · 1760 阅读 · 0 评论