Unfortunately the DateTimePicker ignores the milliseconds and you can't use it for the precision you need.
However as a workaround you can use MaskedTextBox to restrict the input from the client and use the date as a string in your ViewModel. You can still map it to DateTime
object and use it as a date in your database. Adding a placeholder to the text box will make it more clear what is the format of the input. But because you are using it as a string you will have to do an additional check at the server if the date is in the correct format.
In the link below you can read about the MaskedTextBox.
I have attached a sample (PreciseTime.zip) project of how I managed to do it. You don't have to do it the same way, but you can use the logic and apply it using best practices and enough guard clauses.
Telerik by Progress