一.前言 在界面编程中,我们常常会遇到具有依赖性质的ComboBox框,比如最常见的: 省/直辖市 => 地级市/区 => 区/街道 今天就说一下在WPF的MVVM模式中如何实现该功能 二.范例       假设有一段原始数据,名为:TotalData 其包含四个可以过滤的属性:AType.BType.CType.DType 与其对应的有四个ComboBox: 1. SelectedItem绑定:ATypeSelected   ItemsSource绑定为:ATypes 2. Selected…
一.前言       在WPF编程中,有时候我们使用DataGrid会需要在一个DataColumn中既有TextBox,也要有ComboBox或者TextBlock等其他数据显示样式. 这个时候我们就需要DataGridTemplateColumn去自定义我们的Column样式,通过数据类型去判断该信息是以TextBox显示还是以ComboBox来显示. 二.从数据库出发       所谓兵马未到,粮草先行.数据库的字段应该明确告诉我们该条数据是哪个数据类型?是字符串型还是多选型?是否可编辑?…
一.前言       在日常的界面开发中,我们大多使用MVVM模式进行开发.通常情况下,一个PropertyGridControl或者DataGrid的ItemsSource设置好, 然后每一列绑定好某一条ItemsSource中的某一个字段就可以跑起来了. 但是也有另一种情况: 假设一个界面Temp.xaml,它的ViewModel为TempViewModel.cs: 有一个PropertyGridControl的ItemsSource以ObservableCollection<Model>…
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3449 题目大意: fj打算去买一些东西,在那之前,他需要一些盒子去装他打算要买的不同的物品.每一个盒子有特定要装的东西(就是说如果他要买这些东西里的一个,他不得不先买一个盒子).每一种物品都有自己的价值,现在FJ只有W元去购物,他打算用这些钱买价值最高的东西. 思路: 这是有依赖的背包,每件物品买之前必须买特定的盒子 背包九讲: 所以先对每一个箱子进行01背包,保存可以凑出的所有的花费和该花费的最…
一.前言 在ComboBox中嵌入若干个CheckBox时,当我们勾选一些CheckBox,ComboBox会显示相应的勾选项. 例如:CheckBox项有A,B,C   那么勾选这三项,ComboBox会显示A,B,C 但有时候我们会发现,点击CheckBox时,ComboBox会出现对象的名称,而不是我们想要的text 例如:CheckBox有三项A,B,C 它们的类型都是XModel类型,Text分别为A,B,C. 有时候ComboBox会显示成"XModel" 为了解决这个问题…
int extract_pic_info(const BYTE *pic, const uint32_t size, int &width, int &height) { ; width = ; height = ; size_t offset = ; if (pic == NULL) return ret; ] == ] == ] == ] == ] == ] == 'a')) { //gif offset = ; width = MAKEUS(pic[offset + ], pic[o…
领域驱动和MVVM应用于UWP开发的一些思考 0x00 起因 有段时间没写博客了,其实最近本来是根据梳理的MSDN上的资料(UWP开发目录整理)有条不紊的进行UWP学习的.学习中有了心得体会或遇到了问题就写一篇博客记录一下,方便后面查询.不过前几天在园子里逛看了几篇领域驱动的文章,突然发现领域驱动设计的有些地方对我有了很大的提示.在之前用WPF做桌面开发时,使用MVVM可以把View和Model很好的解耦,但在处理数据持久化的时候并没有找到一种特别好的方式.我之前的做法是把ADO封装了一层SQL…
一.引言 在前面介绍了WPF一些核心的内容,其中包括WPF布局.依赖属性.路由事件.绑定.命令.资源样式和模板.然而,在WPF还衍生出了一种很好的编程框架,即WVVM,在Web端开发有MVC,在WPF客户端开发中有MVVM,其中VM就相当于MVC中C(Control).在Web端,微软开发了Asp.net MVC这样的MVC框架,同样在WPF领域,微软也开发了Prism这样的MVVM框架.Prism项目地址是:http://compositewpf.codeplex.com/SourceCont…
使用data binding , dagger2 , retrofit2和rxjava实现的,基于MVVM的知乎日报APP运行效果: <ignore_js_op> 使用说明: 项目结构 android data binding来实现MVVM. dagger2来完成依赖注入. retrofit2+rxjava实现restful的http请求. 第三方类库 retrofit2 dagger2 butterknife rxjava+rxandroid LoganSquare glide androi…
MVC,MVP和MVVM都是常见的软件架构设计模式(Architectural Pattern),它通过分离关注点来改进代码的组织方式.不同于设计模式(Design Pattern),只是为了解决一类问题而总结出的抽象方法,一种架构模式往往使用了多种设计模式. 要了解MVC.MVP和MVVM,就要知道它们的相同点和不同点.不同部分是C(Controller).P(Presenter).VM(View-Model),而相同的部分则是MV(Model-View). Model&View 这里有一个可…