* Prefix private fields with underscore.
* Rename to SetInitialProperties.
* Ensures clear all selection if there isn't selecting.
* Fix format and replace duplicate key bindings for DeleteCharLeft.
* Test the new key binding for DeleteCharLeft.
* Fix formating when typing with selection which may broken the format.
* Fix copy/paste.
* Test data from 01/01/0001 to 12/31/9999.