2009-09-10 5 views
8

Possiedo un'applicazione Silverlight3 destinata all'esecuzione su ambienti Windows e Mac OS. Mi piacerebbe sapere in runtime se la mia applicazione è in esecuzione su Windows o Mac, quindi posso modificare alcune cose sul modo in cui gli utenti sono abituati nel loro sistema operativo preferito.Come rilevare il sistema operativo da un'applicazione Silverlight?

Ad esempio, in Windows è normale utilizzare i pulsanti "OK" "Annulla", mentre in Mac OS la norma è "Annulla" "OK" (ordine inverso).

Qualche idea?

risposta

13

Ci sono due modi.

Da Silverlight:

string os = Environment.OSVersion.Platform.ToString(); 
string version = Environment.OSVersion.Version.ToString(); 

da ASP.NET e inviarlo a Silverlight:

StringBuilder sb = new StringBuilder(); 
sb.AppendFormat("UserAgent={0}", Request.UserAgent); 
Xaml1.InitParameters = sb.ToString(); 
+2

Hmm .. a 64 bit Win7 a 64 bit IE in esecuzione Silverlight 5 e si dice ancora Win32NT. – felickz

-1

Non ho dimestichezza con Silverlight, ma scommetto che puoi ottenere l'intestazione HTTP User-Agent, che include il nome del sistema operativo.