随笔分类 -  WPF

摘要:摘要 C#的分部关键字(partial)能够拆分一个类、一个结构、一个接口或一个方法为两个或更多个的文件,分部的每个文件都可以包含自己的类型和方法,程序编译时会将同类的分部内容合并为一个。 关于分布类 partial这个关键词可能大家都见过,但未必经常去使用,比如XAML的后台代码就是用到了分布类, 阅读全文
posted @ 2022-12-26 23:11 傲慢与偏见luc 阅读(514) 评论(0) 推荐(0) 编辑
摘要:WPF自定义MessageBox消息弹窗摘要 在实际项目开发过程中,为了使其界面风格统一,恰好第三方UI库不满足又或是系统自带的又太过于简陋,那就撸起袖子肝一个自定义的出来吧! 示例代码 Tips:因都是基础代码,没什么太大难点,这里只是抛砖引玉给大家提供一个思路参考,文末有完整源代码! 1、创建一个MessageBox窗体 这里按照常规 阅读全文
posted @ 2022-12-26 22:15 傲慢与偏见luc 阅读(2569) 评论(1) 推荐(1) 编辑
摘要:WPF实现ListBox滚动条自动定位至最底部摘要 在有些场景下为了提升用户体验可能需要自动定位数据至最新的地方,比如实时运行日志、表格最新添加的数据记录等等,这种其实都可以使用WPF中的Behavior(行为)来进行实现,当然你硬要直接在后台事件处理也不是不行,封装成行为之后代码更简洁且可以共用。 示例代码 废话不多说直接上代码 1、实现一个 阅读全文
posted @ 2022-12-14 23:37 傲慢与偏见luc 阅读(3288) 评论(1) 推荐(2) 编辑
摘要:在WPF中使用JSON(Lottie)动画摘要 Lottie 是Airbnb开源的一个面向 iOS、Android、React Native 的动画库,能分析 Adobe After Effects 导出的动画,并且能让原生 App 像使用静态素材一样使用这些动画,完美实现动画效果。在WPF中使用Lottie比直接使用Gif图像所占内存更小 阅读全文
posted @ 2022-11-24 23:01 傲慢与偏见luc 阅读(1756) 评论(1) 推荐(5) 编辑
摘要:WPF表单验证摘要 WPF表单验证是WPF重要基础设施之一,依靠MVVM的数据绑定机制及微软的有力封装,使得我们在处理实体表单验证等可以快捷高效的灵活处理。常见的表单验证实现大概有Exception 、ValidationRule 、IDataErrorInfo ,而本文则是通过IDataErrorInfo来实现 阅读全文
posted @ 2022-11-24 00:20 傲慢与偏见luc 阅读(1365) 评论(2) 推荐(4) 编辑
摘要:在WPF中利用XPS文档实现打印功能摘要 WPF重新规划了打印模型,将所有编码围绕System.Windows.Controls.PrintDialog,使用PrintDialog类可显示Print对话框、设置打印机首选项等等,并且可将元素、文档以及低级的可视化元素直接发送给打印机。在WPF中实现打印的方式也有好几种,本文将使用XPS 阅读全文
posted @ 2022-11-22 23:13 傲慢与偏见luc 阅读(1749) 评论(0) 推荐(3) 编辑
摘要:摘要 WPF中StringFormat的用法可以参照C#中string.Format的用法 示例 字符串宽度和对齐方式 C# String.Format 指定字符串宽度和对齐方式 String.Format("{0,-10}",str); //这个表示第一个参数str字符串的宽度为10,左对齐 St 阅读全文
posted @ 2022-11-21 21:30 傲慢与偏见luc 阅读(2474) 评论(0) 推荐(1) 编辑
摘要:在WPF中使用Prism弹出自定义窗体样式的对话框摘要 在Prism中弹出一个对话框,默认是一个Windows默认样式的窗口,会与自己所开发的项目完全不搭配,例如下面这样子 如果为了迎合软件主体风格,可以做出类似这样效果 其实原理也很简单,Prism也考虑到了这一点,所以特意设计一个供用户自定义的接口 编写组件样式 1、新建一个Window视图 注 阅读全文
posted @ 2022-11-17 22:30 傲慢与偏见luc 阅读(3528) 评论(1) 推荐(6) 编辑
摘要:编写文档模板页面 1、新建Page页面,将顶部节点更改为FlowDocument,后台代码不需要,可直接删掉 2、实现一个表格页面 直接上代码,自己看,其中需要注意的是,如果非静态页面(即内容是需要绑定的),只需要给它一个DataContext上下文即可,后文会有讲到 <FlowDocument x 阅读全文
posted @ 2022-11-16 23:20 傲慢与偏见luc 阅读(1697) 评论(1) 推荐(0) 编辑
摘要:摘要说明 在使用WPF+Prism开发中,有时会需要使用到一些弹窗服务,而在Prism当中,我们使用Dialog是需要注入到IOC容器当中的,传统的写法如下: 而当Dialog过多时或者需要新增一个弹窗时,每次都需要写一行这个注册,属实有点麻烦,所以我查阅了一下Prism源码,写了一个自动注册的扩展 阅读全文
posted @ 2022-11-15 22:42 傲慢与偏见luc 阅读(579) 评论(0) 推荐(2) 编辑
摘要:摘要 在做WPF过程中,编写前端UI时,如果还没有对接数据来源,可能无法很直观的看见页面呈现效果,设计窗口也无法呈现直观的设计效果,又或者在绑定时VS无法给予属性提示等,那么设计时绑定就可以比较友好的解决这一点。 设计时绑定与运行时(普通)绑定区别 类别 运行时(普通)绑定 设计时绑定 编写Bind 阅读全文
posted @ 2022-04-10 20:29 傲慢与偏见luc 阅读(1468) 评论(0) 推荐(0) 编辑
摘要:什么是Prism事件聚合器 Prism 库提供了一种事件机制,可以实现应用程序中松散耦合组件之间的通信。这种机制基于事件聚合器服务,允许发布者和订阅者通过事件进行通信,并且彼此之间仍然没有直接引用。简单来说就是提供了一个多播发布/订阅功能。 一图了解Prism的事件聚合器,这玩意实现原理是观察者模式 阅读全文
posted @ 2021-08-23 22:28 傲慢与偏见luc 阅读(6584) 评论(0) 推荐(1) 编辑
摘要:对话服务(DialogService)概述 对话框实际上是我们应用程序经常用到的一个功能, 类如: Show、ShowDialog。 可以弹出一个我们指定的窗口, 仅此而已, 那么在Prism当中, Dialog指的是什么? Prism提供了一组对话服务, 封装了常用的对话框组件的功能, 例如: R 阅读全文
posted @ 2021-08-18 23:19 傲慢与偏见luc 阅读(4604) 评论(2) 推荐(1) 编辑
摘要:一、注册导航 1、注册视图或起别名 public class ModuleAProfile : IModule { public void OnInitialized(IContainerProvider containerProvider) { } public void RegisterType 阅读全文
posted @ 2021-08-17 23:02 傲慢与偏见luc 阅读(5310) 评论(2) 推荐(1) 编辑
摘要:一、区域管理器 首先看一下官方给的模型图 现在我们可以知道的是,大致一个区域管理器RegionMannager对一个控件创建区域的要点: 创建Region的控件必须包含一个RegionAdapter适配器 region是依赖在具有RegionAdapter控件身上的 其实后来我去看了下官方的介绍和源 阅读全文
posted @ 2021-08-16 22:54 傲慢与偏见luc 阅读(4795) 评论(0) 推荐(3) 编辑
摘要:通过约定的方式去约束它,Prism通过约定俗成的定义去查找他 一、创建模块项目 1、首先创建WPF项目,再将里面的默认文件删掉并将项目输出类型更改为类库 2、接着创建模块的配置文件,做法类似于MEF/MAF框架(用于设计模块化项目的框架)这里不详细展开细说。 安装Prism.Droc包 3、完事需要 阅读全文
posted @ 2021-08-16 22:54 傲慢与偏见luc 阅读(2079) 评论(0) 推荐(0) 编辑
摘要:前言 在做一个日志面板时,当ListBox被装满,我们需要手动去滚动进度条,才能看到最新的信息,所以我需要让它实现自动滚动,实现并不难,最主要的其实就是拿到总行数减去1。但在WPF中一般情况下是避免直接对控件进行操作的,实现也有好几种,这里记录一下我使用Behavior实现的过程。 代码实现 CS: 阅读全文
posted @ 2021-07-15 15:48 傲慢与偏见luc 阅读(972) 评论(0) 推荐(0) 编辑
摘要:WPF样式WPF样式定义 样式则是组织和重用以上的重要工具。不是使用重复的标记填充XAML, 通过Styles创建一系列封装所有这些细节的样式。然后通过Style属性应用封装好的样式。这点类似于CSS样式。 WPF样式使用示例 1.假设现在需要做一个简单的标签 代码如下(示例): <StackPanel> < 阅读全文
posted @ 2021-06-28 00:08 傲慢与偏见luc 阅读(533) 评论(0) 推荐(0) 编辑
摘要:WPF数据模板数据模板定义 在WPF中我们可以为自己的数据定制显示方式,也就是说虽然某数据数据是一定的,但我们可以做到让它的表现方式多种多样,比如一个时间,在以前我们一般使用一个字符串(比如“12:03”)来显示,但我们为什么就不能显示一个小时钟呢,其实这更合乎情理,利用WPF中的数据模板技术随意并轻松地表现你的 阅读全文
posted @ 2021-06-28 00:06 傲慢与偏见luc 阅读(366) 评论(0) 推荐(0) 编辑
摘要:WPF控件模板前言 WPF中每个控件都被设计为无外观的,这意味着我们可以通过一定的方式,完全重定义其可视化外观,而WPF也提供了这种改变外观的方式之一,我们称为模板。wpf的模板有多种方式,可以分为控件模板(ControlTemplate),控件列表模板(ItemsPanelTemplate)和数据模板(Data 阅读全文
posted @ 2021-06-28 00:04 傲慢与偏见luc 阅读(608) 评论(0) 推荐(0) 编辑

more_horiz
keyboard_arrow_up dark_mode palette
选择主题
点击右上角即可分享
微信分享提示