随笔分类 -  WPF

摘要:到现在为止,我们创建了一个简单的MVVM的例子,包含了实现了的属性和命令。我们现在有这样一个包含了例如textbox类似的输入元素的视图,textbox用绑定来和view model联系,像点击button这样的行为用命令来联系。view model和model在内部通信。 但是在上面的架构中有一个 阅读全文
posted @ 2016-08-16 23:30 AshLeakey 阅读(589) 评论(1) 推荐(0)
摘要:应用不只是包含textboxs和labels,还包含actions,如按钮和鼠标事件等。接下来我们加上一些像按钮这样的UI元素来看MVVM类怎么演变的。与之前的UI相比,这次我们加上一个"Cal Tax"按钮,当我们点击这个依赖于“sales amount”的按钮时,它会计算税费并显示在同窗口内。 阅读全文
posted @ 2016-07-28 23:24 AshLeakey 阅读(667) 评论(0) 推荐(0)
摘要:之前的改进已经挺棒的,但是我们现在知道了后台代码的问题,那是否可能把后台代码全部去除呢?这时候就该WPF binding 和 commands 来做的事情了。 WPF就是以超吊的binding,commans和声明式编程而闻名的。声明式编程意思就是相比于全部用C#代码来写,我们也可以用XAML来表示 阅读全文
posted @ 2016-07-28 00:59 AshLeakey 阅读(477) 评论(0) 推荐(0)
摘要:我觉得大部分开发者应该已经知道怎么去解决这个问题。一般都是把后台代码(GLUE code)移动到一个类库。这个类库用来代表UI的属性和行为。任何代码当被移到一个类库中时都可以被编译成一个DLL,然后可以在任何类型的.net项目中去引用它。所以接下来我们来创建一个非常简单的MVVM的例子在之后我们会升 阅读全文
posted @ 2016-07-28 00:20 AshLeakey 阅读(505) 评论(0) 推荐(0)
摘要:首先要做的事情就是定义一个popup来显示我们需要展示的东西 这里使用的是用一个Listbox来做演示,也可以使用其他的控件或者改listbox的template。popup的staysopen代表失去焦点后还显不显示。listbox绑定到一个ObservableCollection来实时改变。 后 阅读全文
posted @ 2016-07-26 11:03 AshLeakey 阅读(893) 评论(0) 推荐(1)
摘要:很多时候我们都希望通过水印来告诉用户这里该填什么样格式的数据,那么我们就希望有这样的一个控件。 为了方便起见,先定义一个依赖属性专门来存放水印中显示的字符串。 在引用中引用当前的命名空间 引入转换器 现在的预想是当用户输入字符时水印消失,字串为空时水印出现,可以用事件来做,但是显然不太合适,因此我们 阅读全文
posted @ 2016-07-26 10:36 AshLeakey 阅读(1328) 评论(0) 推荐(0)
摘要:private void DisplayLogInfo(FileInfo _LastFile) { if (_LastFile != null) { StreamReader sr = null; try { ... 阅读全文
posted @ 2015-12-31 01:06 AshLeakey 阅读(367) 评论(0) 推荐(0)
摘要:我们第一步就是去了解三层架构和问题然后去看MVVM是怎么去解决这些问题的。 现在,感觉和事实是完全不同的两个东西。当你看到三层架构的框图的时候,你会觉得每层的职责被分配的很好。但是当你你真的去写代码的时候你会发现其实一些层被迫去做本不应该他们做的额外的事情(违反了SOLID原则的S)。 这个额外的... 阅读全文
posted @ 2015-11-06 00:17 AshLeakey 阅读(2615) 评论(0) 推荐(0)
摘要:生命就是我们从孩子开始,经过不断的学习成为成熟的成年人的进化过程。这和软件的架构有着异曲同工之妙,我们从基础的架构开始,随着需求和环境的变化不断的进化。 如果你去问任何一个.net开发者,什么是最基础的架构,他们脑中闪过的第一个就是“3层架构”。在这个架构中我们把项目分成3个逻辑块,UI,事务... 阅读全文
posted @ 2015-11-05 22:15 AshLeakey 阅读(544) 评论(0) 推荐(0)