You could create your own DateTimePicker and listen to the TextBox.PreviewMouseLeftButtonUp to open the popup :
public class MyDateTimePicker : DateTimePicker
{
public override void OnApplyTemplate()
{
if( this.TextBox != null )
{
this.TextBox.PreviewMouseLeftButtonUp -= this.TextBox_PreviewMouseLeftButtonUp;
}
base.OnApplyTemplate();
if( this.TextBox != null )
{
this.TextBox.PreviewMouseLeftButtonUp += this.TextBox_PreviewMouseLeftButtonUp;
}
}
private void TextBox_PreviewMouseLeftButtonUp( object sender, MouseButtonEventArgs e )
{
this.IsOpen = true;
}
}