|
|
摘要:视图的2个最基本的功能: 绘制 和 拾取绘制: 在设备上绘制自己, 让用户感觉到视觉存在拾取: 让用户能够选中自己, 并对自己进行相应操作矩形:渲染矩形: 包括阴影布局矩形: 不包括阴影视图是一个状态机视图上的任何一个元素都和谁有关?
阅读全文
摘要:View1. View是一个状态机a. 显示Model的状态b. 即使是动画也是一个’动画’状态2. 先定义View的若干状态a. 初始状态3. View的职责a. 表现Model的数据和状态 (Updaters/Painters)b. 接受User的事件和输入并传递给模型 (Command)c. ...
阅读全文
摘要:更新界面模式举例:用户可以选择或填写若干条件: 关键字, 日期范围, 以及若干其他选项.当用户填写或修改某些条件后立刻更新界面.如何才能得到比较高的性能?1. 分析需要更新的界面可以分成哪几块, 不需要经常更新的部分放在一起, 数据获取速度快的放在一起, 需要经常更新而且速度比较慢的(比如: 集合)...
阅读全文
摘要:计算资源有限, 而数据可能是海量或者无限的.UI只能展现集合的一部分. 所以, 当要显示一个数据集合时, 一定要虚拟化.每次只显示用户可以看到的数据, 屏幕之外的数据尽量不计算重复使用计算资源, 比如控件.这样不必重复的创建和销毁.
阅读全文
摘要:UI是一个状态机,事件是触发器.常见的事件来源 : 时钟, 用户, 系统组件UI的编程模式:1.定义UI可能出现的各种状态, 以及控制该状态的变量2.定义各种状态下UI如何显示. 数据流向 : UI模型注意: 数据只是单向流动.
阅读全文
摘要:属性名属性的类名功能示例TemplateControlTemplate定义控件自身的外观.其子元素的布局可以自定义,也可以由ItemsPresenter定义.IsItemsHost=true表示子元素将显示在此容器中.此处StackPanel也可以用代替.ItemsPanelItemsPanelTe...
阅读全文
摘要:以WeatherForecast为例. 需求: 用户在窗体上点击一个按钮, 程序去网络上查询天气情况, 并把结果显示在窗体上. 网络查询是一个耗时任务, 在等待结果的同时, 用户将看到一个旋转的时钟动画表示程序正在查询.模式为:窗口类MainWindow中有耗时函数: string FetchWea...
阅读全文
摘要:重点: 界面注重渲染输入输出, 尽量不考虑逻辑重用性: 了解如何创建和重用UserControl, 项目的界面部分应该是UserControl为主体, Form或者Page只不过是UserControl的使用者而已大量数据: 要考虑到如果数据是海量的话对显示,响应会有什么影响响应: 使用异步提高响应...
阅读全文
摘要:Modeland ViewModel : 逻辑上全部数据View : 用有限的计算机资源展现Model的全部或者一部分.如果Model数据太多, View需要展示Model的很小一部分. 比如: 用窗口展现文档的一部分, 其他部分使用Scrollbar来滚动.根据View可用资源的数量, 对Mode...
阅读全文
摘要:把每个界面元素看成一个内部状态的表现, 当内部状态改变时就更新界面, 因此会有n个UpdateXxx()函数界面初始化时调用UpdateXxx()内部状态的set方法中调用UpdateXxx()多语言, 把字符串之类的放到资源文件中去
阅读全文
|