-
CommandManager.InvalidateRequerySuggested()
In a WPF application, I have several Button controls each bound to a ICommand property of a ViewModel. In one of the method of a ViewModel, I invoke a method… More.
-
Functor and Member Function Pointer
The Problem Suppose you need to use a legacy C++ class designed in COM style. Some methods of the class return HRESULT, and take a pointer as a parameter that… More.
-
Subclasses Should Provide Better Services
I was chatting with my colleague the other day about the Liskov Substitution Principle and Design by Contract. We know the rule (copied from Wikipedia) is that Subclasses in an… More.
-
Refactor GeometryViz3D Using CoreMVVM
To pratice the MVVM pattern, I’ve refactored the GeometryViz3D tool using CoreMVVM. Several lessons learned: With the MVVM pattern, the code of some Views can be reduced to just a… More.
-
GeometryViz3D
GeometryViz3D is a tool that allows you to create a 3D geometry model that comprises of points and lines, and to examine the model by rotating it around the 3… More.
-
Memory Leak Related to _bstr_t and _variant_t
I was helping investigate a memory leak issue the other day. We used LeakDiag to generate some log files and then used LDGrapher to analyze the log files. There were… More.
-
Mastermind for Windows Mobile
The design of the Mastermind game for Windows Mobile. More.
-
几年前写的几篇文章
以下是几篇几年前发表在CSDN网站上的文章: 十年磨一剑 软件除错 软件开发与反馈控制系统 7±2 越简单越好? 软件是怎么写成的? More.
-
Count the Number of Files with Command Shell Script
Automate the build process by writing Build Events command line script. Count the number of files with Command Shell script. More.
-
Suppress First Chance Exceptions
Avoid first chance exception messages in the Output window and prevent the control from breaking into the source code when an exception is thrown. More.