CultureInfo.CurrentCulture Właściwość

Definicja

Pobiera lub ustawia obiekt CultureInfo, który reprezentuje kulturę używaną przez bieżący wątek.Gets or sets the CultureInfo object that represents the culture used by the current thread.

public:
 static property System::Globalization::CultureInfo ^ CurrentCulture { System::Globalization::CultureInfo ^ get(); };
public static System.Globalization.CultureInfo CurrentCulture { get; }
member this.CurrentCulture : System.Globalization.CultureInfo
Public Shared ReadOnly Property CurrentCulture As CultureInfo

Wartość właściwości

Obiekt, który reprezentuje kulturę używaną przez bieżący wątek.An object that represents the culture used by the current thread.

Wyjątki

Właściwość jest ustawiona na null.The property is set to null.

Przykłady

Poniższy przykład ilustruje sposób zmiany CurrentCulture i CurrentUICulture bieżącego wątku.The following example demonstrates how to change the CurrentCulture and CurrentUICulture of the current thread.

using namespace System;
using namespace System::Globalization;
using namespace System::Threading;

int main()
{
   // Display the name of the current thread culture.
   Console::WriteLine("CurrentCulture is {0}.", CultureInfo::CurrentCulture->Name);
   
   // Change the current culture to th-TH.
   CultureInfo::CurrentCulture = gcnew 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::CurrentCulture->Name);
   
   // Changes the CurrentUICulture of the current thread to ja-JP.
   CultureInfo::CurrentUICulture = gcnew CultureInfo("ja-JP",false);
   Console::WriteLine("CurrentUICulture is now {0}.", CultureInfo::CurrentCulture->Name);
}
// The example displays the following output:
//       CurrentCulture is en-US.
//       CurrentCulture is now th-TH.
//       CurrentUICulture is en-US.
//       CurrentUICulture is now ja-JP.
using System;
using System.Globalization;
using System.Threading;

public class Example
{
   public static void Main()  
   {
      // Display the name of the current thread culture.
      Console.WriteLine("CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name);

      // Change the current culture to th-TH.
      CultureInfo.CurrentCulture = new CultureInfo("th-TH", false);
      Console.WriteLine("CurrentCulture is now {0}.", CultureInfo.CurrentCulture.Name);

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

      // Change the current UI culture to ja-JP.
      CultureInfo.CurrentUICulture = new CultureInfo( "ja-JP", false );
      Console.WriteLine("CurrentUICulture is now {0}.", CultureInfo.CurrentUICulture.Name);
   }
}
// The example displays the following output:
//       CurrentCulture is en-US.
//       CurrentCulture is now th-TH.
//       CurrentUICulture is en-US.
//       CurrentUICulture is now ja-JP.
Imports System.Globalization
Imports System.Threading

Public Module Example
   Public Sub Main()

      ' Display the name of the current thread culture.
      Console.WriteLine("CurrentCulture is {0}.", CultureInfo.CurrentCulture.Name)

      ' Change the current culture to th-TH.
      CultureInfo.CurrentCulture = New CultureInfo("th-TH", False)
      Console.WriteLine("CurrentCulture is now {0}.", CultureInfo.CurrentCulture.Name)

      ' Display the name of the current UI culture.
      Console.WriteLine("CurrentUICulture is {0}.", CultureInfo.CurrentUICulture.Name)

      ' Change the current UI culture to ja-JP.
      CultureInfo.CurrentUICulture = New CultureInfo("ja-JP", False)
      Console.WriteLine("CurrentUICulture is now {0}.", CultureInfo.CurrentUICulture.Name)
   End Sub 
End Module
' The example displays the following output:
'       CurrentCulture is en-US.
'       CurrentCulture is now th-TH.
'       CurrentUICulture is en-US.
'       CurrentUICulture is now ja-JP.

Uwagi

Obiekt CultureInfo, który jest zwracany przez tę właściwość i skojarzone z nim obiekty, określa domyślny format dat, godzin, liczb, wartości walut, kolejności sortowania tekstu, Konwencji wielkości liter i porównań ciągów.The CultureInfo object that is returned by this property and its associated objects determine the default format for dates, times, numbers, currency values, the sorting order of text, casing conventions, and string comparisons.

Bieżąca kultura jest właściwością wątku wykonawczego.The current culture is a property of the executing thread. Pobranie wartości właściwości CultureInfo.CurrentCulture jest bardziej wydajnym odpowiednikiem pobierania CultureInfo obiektu zwróconego przez właściwość Thread.CurrentThread.CurrentCulture.Retrieving the value of the CultureInfo.CurrentCulture property is a more performant equivalent of retrieving the CultureInfo object returned by the Thread.CurrentThread.CurrentCulture property.

Uwaga

W .NET Framework 4.5.2 i starszych wersjach Właściwość CurrentCulture jest tylko do odczytu. oznacza to, że można pobrać wartość właściwości, ale nie można jej ustawić.In the .NET Framework 4.5.2 and earlier versions, the CurrentCulture property is read-only; that is, you can retrieve the property value, but you cannot set it. Aby zmienić bieżącą kulturę, należy przypisać obiekt CultureInfo, który reprezentuje nową kulturę do właściwości Thread.CurrentThread.CurrentCulture.To change the current culture, you assign the CultureInfo object that represents the new culture to the Thread.CurrentThread.CurrentCulture property. Rozpoczynając od .NET Framework 4.6.NET Framework 4.6, właściwość CurrentCulture jest do odczytu i zapisu; można ustawić i pobrać wartość właściwości.Starting with the .NET Framework 4.6.NET Framework 4.6, the CurrentCulture property is read-write; you can both set and retrieve the property's value. Jeśli ustawisz wartość właściwości na obiekt CultureInfo, który reprezentuje nową kulturę, wartość właściwości Thread.CurrentThread.CurrentCulture również ulega zmianie.If you do set the property value to a CultureInfo object that represents a new culture, the value of the Thread.CurrentThread.CurrentCulture property also changes.

W tej sekcji:In this section:

Sposób określania kultury wątku How a Thread's Culture Is Determined
Pobieranie bieżącej kultury Getting the Current Culture
Jawne ustawienie właściwości CurrentCulture Explicitly Setting the CurrentCulture Property
Bieżąca kultura i zastąpień użytkownika The Current Culture and User Overrides
Aplikacje kulturowe i WindowsCulture and Windows Apps

Ustalanie kultury wątkuHow a Thread's Culture Is Determined

Po rozpoczęciu wątku jego kultura jest początkowo określana w następujący sposób:When a thread is started, its culture is initially determined as follows:

  • Pobierając kulturę określoną przez właściwość DefaultThreadCurrentCulture w domenie aplikacji, w której jest wykonywany wątek, jeśli wartość właściwości nie jest null.By retrieving the culture that is specified by the DefaultThreadCurrentCulture property in the application domain in which the thread is executing, if the property value is not null.

  • Jeśli wątek jest wątkiem puli wątków wykonującym operację asynchroniczną opartą na zadaniach, a aplikacja jest przeznaczona dla .NET Framework 4.6.NET Framework 4.6 lub nowszej wersji .NET Framework, jej kultura jest określana przez kulturę wątku wywołującego.If the thread is a thread pool thread that is executing a task-based asynchronous operation and the app targets the .NET Framework 4.6.NET Framework 4.6 or a later version of the .NET Framework, its culture is determined by the culture of the calling thread. Poniższy przykład zmienia bieżącą kulturę na portugalski (Brazylia) i uruchamia sześć zadań, z których każdy Wyświetla identyfikator wątku, jego identyfikator zadania i jego bieżącą kulturę.The following example changes the current culture to Portuguese (Brazil) and launches six tasks, each of which displays its thread ID, its task ID, and its current culture. Każdy z zadań (i wątków) odziedziczył kulturę wywołującego wątku.Each of the tasks (and the threads) has inherited the culture of the calling thread.

    using System;
    using System.Collections.Generic;
    using System.Globalization;
    using System.Runtime.Versioning;
    using System.Threading;
    using System.Threading.Tasks;
    
    [assembly:TargetFramework(".NETFramework,Version=v4.6")]
    
    public class Example
    {
       public static async Task Main()
       {
          var tasks = new List<Task>();
          Console.WriteLine("The current culture is {0}", 
                            Thread.CurrentThread.CurrentCulture.Name);
          Thread.CurrentThread.CurrentCulture = new CultureInfo("pt-BR");
          // Change the current culture to Portuguese (Brazil).
          Console.WriteLine("Current culture changed to {0}",
                            Thread.CurrentThread.CurrentCulture.Name);
          Console.WriteLine("Application thread is thread {0}",
                            Thread.CurrentThread.ManagedThreadId);
          // Launch six tasks and display their current culture.
          for (int ctr = 0; ctr <= 5; ctr++)
             tasks.Add(Task.Run( () => {
                                   Console.WriteLine("Culture of task {0} on thread {1} is {2}",
                                                     Task.CurrentId, 
                                                     Thread.CurrentThread.ManagedThreadId,
                                                     Thread.CurrentThread.CurrentCulture.Name);
                                } ));                     
    
          await Task.WhenAll(tasks.ToArray());
       }
    }
    // The example displays output like the following:
    //     The current culture is en-US
    //     Current culture changed to pt-BR
    //     Application thread is thread 9
    //     Culture of task 2 on thread 11 is pt-BR
    //     Culture of task 1 on thread 10 is pt-BR
    //     Culture of task 3 on thread 11 is pt-BR
    //     Culture of task 5 on thread 11 is pt-BR
    //     Culture of task 6 on thread 11 is pt-BR
    //     Culture of task 4 on thread 10 is pt-BR
    
    Imports System.Collections.Generic
    Imports System.Globalization
    Imports System.Runtime.Versioning
    Imports System.Threading
    Imports System.Threading.Tasks
    
    <assembly:TargetFramework(".NETFramework,Version=v4.6")>
    
    Module Example
       Public Sub Main()
          Dim tasks As New List(Of Task)
          Console.WriteLine("The current culture is {0}", 
                            Thread.CurrentThread.CurrentCulture.Name)
          Thread.CurrentThread.CurrentCulture = New CultureInfo("pt-BR")
          ' Change the current culture to Portuguese (Brazil).
          Console.WriteLine("Current culture changed to {0}",
                            Thread.CurrentThread.CurrentCulture.Name)
          Console.WriteLine("Application thread is thread {0}",
                            Thread.CurrentThread.ManagedThreadId)
          ' Launch six tasks and display their current culture.
          For ctr As Integer = 0 to 5
             tasks.Add(Task.Run(Sub()
                                   Console.WriteLine("Culture of task {0} on thread {1} is {2}",
                                                     Task.CurrentId, 
                                                     Thread.CurrentThread.ManagedThreadId,
                                                     Thread.CurrentThread.CurrentCulture.Name)
                                End Sub))                     
          Next
          Task.WaitAll(tasks.ToArray())
       End Sub
    End Module
    ' The example displays output like the following:
    '     The current culture is en-US
    '     Current culture changed to pt-BR
    '     Application thread is thread 9
    '     Culture of task 2 on thread 11 is pt-BR
    '     Culture of task 1 on thread 10 is pt-BR
    '     Culture of task 3 on thread 11 is pt-BR
    '     Culture of task 5 on thread 11 is pt-BR
    '     Culture of task 6 on thread 11 is pt-BR
    '     Culture of task 4 on thread 10 is pt-BR
    

    Aby uzyskać więcej informacji, zapoznaj się z sekcją "kultury i operacje asynchroniczne oparte na zadaniach" w temacie CultureInfo.For more information, see the "Culture and task-based asynchronous operations" section in the CultureInfo topic.

  • Przez wywołanie funkcji GetUserDefaultLocaleName systemu Windows.By calling the Windows GetUserDefaultLocaleName function.

Należy pamiętać, że jeśli ustawisz kulturę, która różni się od kultury zainstalowanej systemowo lub kultury zalecanej przez użytkownika, a aplikacja uruchamia wiele wątków, bieżąca kultura tych wątków będzie kulturą zwracaną przez funkcję GetUserDefaultLocaleName, chyba że zostanie przypisana kultura do właściwości DefaultThreadCurrentCulture w domenie aplikacji, w której jest wykonywany wątek.Note that if you set a specific culture that is different from the system-installed culture or the user's preferred culture, and your application starts multiple threads, the current culture of those threads will be the culture that is returned by the GetUserDefaultLocaleName function, unless you assign a culture to the DefaultThreadCurrentCulture property in the application domain in which the thread is executing.

Aby uzyskać więcej informacji na temat sposobu ustalania kultury wątku, zobacz sekcję "Kultura i wątki" na stronie odniesienia CultureInfo.For more information about how the culture of a thread is determined, see the "Culture and threads" section in the CultureInfo reference page.

Pobieranie bieżącej kulturyGetting the Current Culture

Właściwość CultureInfo.CurrentCulture jest ustawieniem dla wątku; oznacza to, że każdy wątek może mieć własną kulturę.The CultureInfo.CurrentCulture property is a per-thread setting; that is, each thread can have its own culture. Pobrano kulturę bieżącego wątku przez pobranie wartości właściwości CultureInfo.CurrentCulture, jak pokazano w poniższym przykładzie.You get the culture of the current thread by retrieving the value of the CultureInfo.CurrentCulture property, as the following example illustrates.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      CultureInfo culture = CultureInfo.CurrentCulture;
      Console.WriteLine("The current culture is {0} [{1}]",
                        culture.NativeName, culture.Name);
   }
}
// The example displays output like the following:
//       The current culture is English (United States) [en-US]
Imports System.Globalization

Module Example
   Public Sub Main()
      Dim culture As CultureInfo = CultureInfo.CurrentCulture
      Console.WriteLine("The current culture is {0} [{1}]",
                        culture.NativeName, culture.Name)
   End Sub
End Module
' The example displays output like the following:
'     The current culture is English (United States) [en-US]

Możesz również pobrać wartość kultury bieżącego wątku z właściwości Thread.CurrentThread.You can also retrieve the value of the current thread's culture from the Thread.CurrentThread property.

Jawne ustawianie właściwości CurrentCultureExplicitly Setting the CurrentCulture Property

Przy .NET Framework 4.6.NET Framework 4.6, aby zmienić kulturę używaną przez istniejący wątek, należy ustawić właściwość CultureInfo.CurrentCulture na nową kulturę.Staring with the .NET Framework 4.6.NET Framework 4.6, to change the culture that is used by an existing thread, you set the CultureInfo.CurrentCulture property to the new culture. Jeśli w ten sposób jawnie zmienisz kulturę wątku, ta zmiana będzie trwała, jeśli wątek przekroczy granice domeny aplikacji.If you explicitly change a thread's culture in this way, that change persists if the thread crosses application domain boundaries. Poniższy przykład zmienia kulturę bieżącego wątku na holenderski (Holandia).The following example changes the current thread culture to Dutch (Netherlands). Pokazuje również, że gdy bieżący wątek przecina granice domeny aplikacji, jego bieżąca kultura pozostaje zmieniona.It also shows that, when the current thread crosses application domain boundaries, its current culture remains changed.

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

public class Info : MarshalByRefObject
{
   public void ShowCurrentCulture()
   {
      Console.WriteLine("Culture of {0} in application domain {1}: {2}",
                        Thread.CurrentThread.Name,
                        AppDomain.CurrentDomain.FriendlyName,
                        CultureInfo.CurrentCulture.Name);
   }
}

public class Example
{
   public static void Main()
   {
      Info inf = new Info();
      // Set the current culture to Dutch (Netherlands).
      Thread.CurrentThread.Name = "MainThread";
      CultureInfo.CurrentCulture = CultureInfo.CreateSpecificCulture("nl-NL");
      inf.ShowCurrentCulture();
      
      // Create a new application domain.
       AppDomain ad = AppDomain.CreateDomain("Domain2");
       Info inf2 = (Info) ad.CreateInstanceAndUnwrap(typeof(Info).Assembly.FullName, "Info");
       inf2.ShowCurrentCulture();                       
   }
}
// The example displays the following output:
//       Culture of MainThread in application domain ChangeCulture1.exe: nl-NL
//       Culture of MainThread in application domain Domain2: nl-NL
Imports System.Globalization
Imports System.Threading

Public Class Info : Inherits MarshalByRefObject
   Public Sub ShowCurrentCulture()
      Console.WriteLine("Culture of {0} in application domain {1}: {2}",
                        Thread.CurrentThread.Name,
                        AppDomain.CurrentDomain.FriendlyName,
                        CultureInfo.CurrentCulture.Name)
   End Sub
End Class

Module Example
   Public Sub Main()
      Dim inf As New Info()
      ' Set the current culture to Dutch (Netherlands).
      Thread.CurrentThread.Name = "MainThread"
      CultureInfo.CurrentCulture = CultureInfo.CreateSpecificCulture("nl-NL")
      inf.ShowCurrentCulture()
      
      ' Create a new application domain.
       Dim ad As AppDomain = AppDomain.CreateDomain("Domain2")
       Dim inf2 As Info = CType(ad.CreateInstanceAndUnwrap(GetType(Info).Assembly.FullName, "Info"),
                          Info)  
       inf2.ShowCurrentCulture()                       
   End Sub
End Module
' This example displays the following output:
'       Culture of MainThread in application domain Example.exe: nl-NL
'       Culture of MainThread in application domain Domain2: nl-NL

Uwaga

Zmiana kultury przy użyciu właściwości CultureInfo.CurrentCulture wymaga uprawnień SecurityPermission z ustawioną wartością ControlThread.Changing the culture by using the CultureInfo.CurrentCulture property requires a SecurityPermission permission with the ControlThread value set. Manipulowanie wątkami jest niebezpieczne ze względu na stan zabezpieczeń skojarzony z wątkami.Manipulating threads is dangerous because of the security state associated with threads. W związku z tym to uprawnienie powinno mieć tylko kod godny zaufania, a następnie tylko w razie potrzeby.Therefore, this permission should be given only to trustworthy code, and then only as necessary. Nie można zmienić kultury wątków w kodzie częściowo zaufanym.You cannot change thread culture in semi-trusted code.

Rozpoczynając od Program .NET Framework 4.NET Framework 4, można jawnie zmienić bieżącą kulturę wątku na określoną kulturę (na przykład francuski (Kanada)) lub neutralną kulturę (na przykład francuski).Starting with the Program .NET Framework 4.NET Framework 4, you can explicitly change the current thread culture to either a specific culture (such as French (Canada)) or a neutral culture (such as French). Gdy obiekt CultureInfo reprezentuje kulturę neutralną, wartości właściwości CultureInfo, takie jak Calendar, CompareInfo, DateTimeFormat, NumberFormati TextInfo odzwierciedlają określoną kulturę, która jest skojarzona z kulturą neutralną.When a CultureInfo object represents a neutral culture, the values of CultureInfo properties such as Calendar, CompareInfo, DateTimeFormat, NumberFormat, and TextInfo reflect the specific culture that is associated with the neutral culture. Na przykład, kulturą dominującą dla kultury neutralnej w języku angielskim jest angielski (Stany Zjednoczone); kulturą dominującą dla kultury niemieckiej jest niemiecki (Niemcy).For example, the dominant culture for the English neutral culture is English (United States); the dominant culture for the German culture is German (Germany). Poniższy przykład ilustruje różnicę formatowania, gdy bieżąca kultura jest ustawiona na określoną kulturę, francuski (Kanada) i neutralną kulturę, francuski.The following example illustrates the difference in formatting when the current culture is set to a specific culture, French (Canada), and a neutral culture, French.

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

public class Example
{
   public static void Main()
   {
      double value = 1634.92;
      CultureInfo.CurrentCulture = new CultureInfo("fr-CA");
      Console.WriteLine("Current Culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("{0:C2}\n", value);
      
      Thread.CurrentThread.CurrentCulture = new CultureInfo("fr");
      Console.WriteLine("Current Culture: {0}", 
                        CultureInfo.CurrentCulture.Name);
      Console.WriteLine("{0:C2}", value);
   }
}
// The example displays the following output:
//       Current Culture: fr-CA
//       1 634,92 $
//       
//       Current Culture: fr
//       1 634,92 €
Imports System.Globalization
Imports System.Threading

Module Example
   Public Sub Main()
      Dim value As Double = 1634.92
      CultureInfo.CurrentCulture = New CultureInfo("fr-CA")
      Console.WriteLine("Current Culture: {0}", 
                        CultureInfo.CurrentCulture.Name)
      Console.WriteLine("{0:C2}", value)
      Console.WriteLine()
      
      Thread.CurrentThread.CurrentCulture = New CultureInfo("fr")
      Console.WriteLine("Current Culture: {0}", 
                        CultureInfo.CurrentCulture.Name)
      Console.WriteLine("{0:C2}", value)
   End Sub
End Module
' The example displays the following output:
'       Current Culture: fr-CA
'       1 634,92 $
'       
'       Current Culture: fr
'       1 634,92 €

Można również użyć właściwości CultureInfo.CurrentCulture wraz z właściwością HttpRequest.UserLanguages, aby ustawić właściwość CurrentCulture aplikacji ASP.NET na preferowaną kulturę użytkownika, jak pokazano w poniższym przykładzie.You can also use the CultureInfo.CurrentCulture property along with the HttpRequest.UserLanguages property to set the CurrentCulture property of an ASP.NET application to the user's preferred culture, as the following example illustrates.

CultureInfo.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages[0]);
Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture(Request.UserLanguages(0))

Bieżąca kultura i napisanie użytkownikaThe Current Culture and User Overrides

System Windows umożliwia użytkownikom zastępowanie standardowych wartości właściwości obiektu CultureInfo i skojarzonych z nimi obiektów przy użyciu opcji regionalnych i językowych w panelu sterowania.Windows allows users to override the standard property values of the CultureInfo object and its associated objects by using Regional and Language Options in Control Panel. Obiekt CultureInfo zwracany przez właściwość CurrentCulture odzwierciedla te zastąpienia użytkownika w następujących przypadkach:The CultureInfo object returned by the CurrentCulture property reflects these user overrides in the following cases:

  • Jeśli bieżąca kultura wątku jest ustawiona niejawnie przez funkcję GetUserDefaultLocaleName systemu Windows.If the current thread culture is set implicitly by the Windows GetUserDefaultLocaleName function.

  • Jeśli bieżąca kultura wątku zdefiniowana przez właściwość DefaultThreadCurrentCulture odpowiada bieżącej kulturze systemu Windows.If the current thread culture defined by the DefaultThreadCurrentCulture property corresponds to the current Windows system culture.

  • Jeśli bieżąca kultura wątku jest jawnie ustawiona na kulturę zwróconą przez metodę CreateSpecificCulture, a kultura odpowiada bieżącej kulturze systemu Windows.If the current thread culture is set explicitly to a culture returned by the CreateSpecificCulture method, and that culture corresponds to the current Windows system culture.

  • Jeśli bieżąca kultura wątku jest jawnie ustawiona na kulturę utworzoną przez konstruktora CultureInfo(String), a kultura odpowiada bieżącej kulturze systemu Windows.If the current thread culture is set explicitly to a culture instantiated by the CultureInfo(String) constructor, and that culture corresponds to the current Windows system culture.

W niektórych przypadkach, szczególnie w przypadku aplikacji serwerowych, ustawienie bieżącej kultury na obiekt CultureInfo, który odzwierciedla zastąpienia użytkowników, może być niepożądane.In some cases, particularly for server applications, setting the current culture to a CultureInfo object that reflects user overrides may be undesirable. Zamiast tego można ustawić bieżącą kulturę wątku na obiekt CultureInfo, który nie odzwierciedla zastąpień użytkownika w następujący sposób:Instead, you can set the current thread culture to a CultureInfo object that does not reflect user overrides in the following ways:

Bieżąca kultura i aplikacje platformy UWPThe current culture and UWP apps

W aplikacjach platforma uniwersalna systemu Windows (platformy UWP) CurrentCulture właściwość jest do odczytu i zapisu, podobnie jak w aplikacjach .NET Framework i .NET Core. Możesz użyć obu tych metod, aby uzyskać i ustawić bieżącą kulturę.In Universal Windows Platform (UWP) apps, the CurrentCulture property is read-write, just as it is in .NET Framework and .NET Core apps; you can use it both to get and to set the current culture. Jednak aplikacje platformy UWP nie rozróżnią między bieżącą kulturą i bieżącą kulturą interfejsu użytkownika.However, UWP apps do not distinguish between the current culture and the current UI culture. Właściwości CurrentCulture i CurrentUICulture są mapowane na pierwszą wartość w kolekcji Windows. ApplicationModel. resources. Core. relanguagemanager. kontekst domyślny. Languages .The CurrentCulture and CurrentUICulture properties map to the first value in the Windows.ApplicationModel.Resources.Core.ResourceManager.DefaultContext.Languages collection.

W aplikacjach .NET Framework i .NET Core bieżąca kultura jest ustawieniem dla każdego wątku, a właściwość CurrentCulture odzwierciedla kulturę bieżącego wątku.In .NET Framework and .NET Core apps, the current culture is a per-thread setting, and the CurrentCulture property reflects the culture of the current thread only. W aplikacjach platformy UWP bieżąca kultura jest zamapowana na Właściwość Windows. ApplicationModel. resources. Core. Languages , która jest ustawieniem globalnym.In UWP apps, the current culture maps to the Windows.ApplicationModel.Resources.Core.ResourceManager.DefaultContext.Languages property, which is a global setting. Ustawienie właściwości CurrentCulture zmienia kulturę całej aplikacji; nie można ustawić kultury dla poszczególnych wątków.Setting the CurrentCulture property changes the culture of the entire app; culture cannot be set on a per-thread basis.

Zabezpieczenia

SecurityPermission
do ustawiania bieżącej kultury.for setting the current culture. Skojarzone Wyliczenie: ControlThreadAssociated enumeration: ControlThread

Dotyczy

Zobacz też