摘要:
问题如下: 解决方案: 打开IE浏览器,随便输入一个网址,在页面空白处点击右键->编码->自动选择 再次重新开启python3 帮助文档即可 阅读全文
摘要:
1 说明 预计需要15min阅读此教材; 本教材仅讲述如何查看excel数据,筛选,排序,查找替换数据,不涉及excel中复杂的图形绘制及样式修改。 2 假设 假设,已经存在一个test.xlsx文件,仅包含一个sheet,文件内容如下。 col1 col2 foo1 bar1 foo2 bar2 阅读全文
摘要:
1. 背景 导航是为了实现不同界面的切换,是一种组织系统功能的方式。提供两种导航,一是基于View切换,二是基于ViewModel状态。 2. 基于View切换的导航 最常用导航方式。在该种导航中首先需要定义一个域(Region),然后注册所有需要的View。通过切换不同视图,可以实现导航。下面具体 阅读全文
摘要:
1. UI布局关键概念 一个组合应用UI的根节点被称作Shell,一般只有一个Shell。Shell作为应用的主页,包含一个或者多个域。域是内容占位符,可以包含一个或者多个View。有很多控件可以作为域,如ContentControl,ItemsControl,TabControl,以及一些自定义的 阅读全文
摘要:
1. 背景 MVVM是一种常用的设计模式,它的最主要功能是将数据与代码隔离,实现viewmodel的可测试。架构图如下: 2. 命令-Command 2.1 WPF 路由命令 WPF提供一种内置的命令实现称为路由命令。这与MVVM设计模式中的命令不同。路由命令通过UI Tree进行路由。路由命令可沿 阅读全文
摘要:
1. 背景 在Prism中,可以使用交互请求对象实现弹出窗口行为,系统提供默认的通知弹窗和确认弹窗,同时允许自定义弹窗。这里使用MVVM模式实现自定义弹窗。 2. 实现 2.1 ViewModel 为了实现自定义弹窗,ViewModel类需要继承IInteractionRequestAware,该接 阅读全文
摘要:
1. CanExecute实现 只是将命令绑定到特定控件是不会触发CanExecute方法执行,该方法只是在实例化命令的时候才使用,其余如果需要触发该事件,只能通过后台代码组合触发,如更新一个后台类字段,该字段更新触发是否执行的判定。方法有两种: 执行调用触发事件方法 观察某个值改变 1.1 执行调 阅读全文
摘要:
1.概述 MVVM各个部分功能如下: Model:定义业务逻辑 View:定义面向用户接口,UI逻辑,处理用户交互请求 ViewModel:负责界面导航逻辑和应用状态管理,呈现逻辑。 1.1. 各司其职 view 定义了界面的结构和样式,后台代码不能包含任何其他需要进行单元测试的逻辑。 从面向对象的 阅读全文
摘要:
1. 背景 将应用程序分成一个一个模块是非常有好处,利于协同开发,扩展,测试,以及维护。 1.1. Prism对模块化的支持 使用Prism框架组织代码就是为了对一个个部件模块化,降低耦合度。Prism提供如下方法实现模块化。 模块目录,用于注册模块信息,如名称以及模块位置。 为模块声明元属性,支持 阅读全文
摘要:
1. 为什么使用依赖注入? 使用依赖注入的原因: 开发更简单,开发者很容易从容器中获得需要的服务; 将接口与实现解耦; 更容易管理对象生命周期。 2. 依赖注入容器有哪些? 当前Prism官方支持的第三方依赖注册容器有: Unity Mef StructureMap Ninject Autofac 阅读全文