detectar dirextX? a que te refieres? a saber la version? 
si es saber la version se hace validando la siguiente llave del registro:
 
RegistryKey llaveRegistro;
 
llaveRegistro= Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\DirectX").GetValue("Version");