Información
El tema que ha solicitado se muestra abajo. Sin embargo, este tema no se encuentra en la biblioteca.

CultureInfo.CurrentUICulture (Propiedad)

Obtiene el objeto CultureInfo que representa la referencia cultural de la interfaz de usuario actual utilizada por el Administrador de recursos para buscar los recursos específicos de la referencia cultural en tiempo de ejecución.

Espacio de nombres:  System.Globalization
Ensamblado:  mscorlib (en mscorlib.dll)

public static CultureInfo CurrentUICulture { get; }

Valor de propiedad

Tipo: System.Globalization.CultureInfo
Referencia cultural actual usada por el administrador de recursos para buscar recursos específicos de la referencia cultural en tiempo de ejecución.

La referencia cultural de la interfaz de usuario actual es una propiedad de por- subproceso. Es decir, cada subproceso dispone de su propia referencia cultural de la interfaz de usuario actual. Esta propiedad de sólo lectura es equivalente a recuperar el objeto de CultureInfo devuelto por la propiedad de System.Threading.Thread.CurrentThread.CurrentUICulture . Cuando se inicia un subproceso, la referencia cultural de la interfaz de usuario se determina inicialmente como sigue:

  • Recuperar la referencia cultural especificada por la propiedad de DefaultThreadCurrentUICulture en el dominio de aplicación en el que se está ejecutando el subproceso, si el valor de propiedad no es null.

  • Llamando a la función de Windows GetUserDefaultUILanguage .

NotaNota

En .NET Compact Framework, la propiedad de CurrentUICulture es de solo lectura. La referencia cultural de la interfaz de usuario actual está determinada por la configuración regional del sistema y no se puede cambiar mediante programación.

Para cambiar la referencia cultural de la interfaz de usuario utilizada por un subproceso, establezca la propiedad de Thread.CurrentUICulture a la nueva referencia cultural. Si se cambia la referencia cultural de la interfaz de usuario de un subproceso de esta manera, ese cambio conserva si el subproceso cruza los límites del dominio de aplicación.

Configurar explícitamente la referencia cultural de la interfaz de usuario actual

Aunque la propiedad de CultureInfo.CurrentUICulture es de sólo lectura, puede cambiar su valor explícitamente estableciendo la propiedad de Thread.CurrentUICulture del subproceso actual. La referencia cultural de la interfaz de usuario actual se puede establecer en una referencia cultural concreta (como en-us o de- DE) o una referencia cultural neutra (como en o de). El ejemplo siguiente se establece la referencia cultural de la interfaz de usuario actual al franco- fr o en francés (Francia).


using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()
   {
      Console.WriteLine("The current UI culture: {0}", 
                        CultureInfo.CurrentUICulture.Name);

      Thread.CurrentThread.CurrentUICulture = CultureInfo.CreateSpecificCulture("fr-FR");
      Console.WriteLine("The current UI culture: {0}", 
                        CultureInfo.CurrentUICulture.Name);
   }
}
// The example displays output like the following:
//       The current UI culture: en-US
//       The current UI culture: fr-FR


En una aplicación multiproceso, puede establecer explícitamente la referencia cultural de la interfaz de usuario de cualquier subproceso asignando un objeto de CultureInfo que representa esa referencia cultural a la propiedad de Thread.CurrentUICulture de subproceso. Cuando la referencia cultural de la interfaz de usuario de un subproceso se establece explícitamente, ese subproceso mantiene la misma referencia cultural aunque cruza los límites del dominio de aplicación y ejecuta código en otro dominio de aplicación.

Configurar implícitamente la referencia cultural de la interfaz de usuario actual

Cuando un subproceso, incluido el subproceso de aplicación principal, primero se crea, de forma predeterminada la referencia cultural de la interfaz de usuario actual se establece como sigue:

  • Mediante la referencia cultural definida por la propiedad de DefaultThreadCurrentUICulture para el dominio de aplicación actual si el valor de propiedad no es null.

  • Utilizando la referencia cultural predeterminada del sistema. En los sistemas que utilizan el sistema operativo Windows, Common Language Runtime llama a la función de Windows GetUserDefaultUILanguage para establecer la referencia cultural de la interfaz de usuario actual. GetUserDefaultUILanguage devuelve la referencia cultural de la interfaz de usuario predeterminada establecida por el usuario. Si el usuario no ha establecido un idioma de IU predeterminado, devuelve la referencia cultural instalada originalmente en el sistema.

Si el subproceso cruza límites de la aplicación y ejecuta código en otro dominio de aplicación, su referencia cultural se determina igual que la de un subproceso creado recientemente.

Observe que si establece una referencia cultural concreta de la interfaz de usuario que es diferente de la referencia cultural de la interfaz de usuario sistema- instala o de la referencia cultural de la interfaz de usuario preferida del usuario, y la aplicación inicia varios subprocesos, la referencia cultural de la interfaz de usuario actual de estos subprocesos se la referencia cultural devuelta por la función de GetUserDefaultUILanguage , a menos que asigne una referencia cultural a la propiedad de DefaultThreadCurrentUICulture en el dominio de aplicación en el que se está ejecutando el subproceso.

Consideraciones de seguridad

Cambiar la referencia cultural del subproceso actual requiere un permiso de SecurityPermission con el valor de ControlThread .

Nota de precauciónPrecaución

Es peligroso manipular subprocesos por el estado de seguridad asociado a los mismos. Por lo tanto, este permiso debería darse sólo a código confiable, y aun así sólo cuando sea necesario. No puede cambiar la referencia cultural del subproceso en código semi- confirmado.

En el ejemplo de código siguiente se muestra la forma de cambiar las propiedades CurrentCulture y CurrentUICulture del subproceso actual.


using System;
using System.Globalization;
using System.Security.Permissions;
using System.Threading;

[assembly:SecurityPermission( SecurityAction.RequestMinimum, ControlThread = true )]
public class SamplesCultureInfo  {

   public static void Main()  {

      // Displays the name of the CurrentCulture of the current thread.
      Console.WriteLine( "CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name );

      // Changes the CurrentCulture of the current thread to th-TH.
      Thread.CurrentThread.CurrentCulture = new CultureInfo( "th-TH", false );
      Console.WriteLine( "CurrentCulture is now {0}.", CultureInfo.CurrentCulture.Name );

      // Displays the name of the CurrentUICulture of the current thread.
      Console.WriteLine( "CurrentUICulture is {0}.", CultureInfo.CurrentUICulture.Name );

      // Changes the CurrentUICulture of the current thread to ja-JP.
      Thread.CurrentThread.CurrentUICulture = new CultureInfo( "ja-JP", false );
      Console.WriteLine( "CurrentUICulture is now {0}.", CultureInfo.CurrentUICulture.Name );

   }

}

/*
This code produces the following output, if the ControlThread permission is granted (for example, if this code is run from the local drive).

CurrentCulture is en-US.
CurrentCulture is now th-TH.
CurrentUICulture is en-US.
CurrentUICulture is now ja-JP.

*/


.NET Framework

Compatible con: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

.NET para aplicaciones de Windows Phone

Compatible con: Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.

Adiciones de comunidad

Mostrar:
© 2014 Microsoft