title: In .Net: best way for keeping CurrentCulture on new Thread?
body: <p>In a .Net 4.0 <strong>WPF</strong> project, we need to keep the same CurrentCulture on each thread then we have on the main thread.</p>
  
  <p>Given, we can initialize a new thread's culture with code like the following:</p>
  
  <ol>
  <li><p>Keep the information in a variable (context)</p>
  
  <pre><code>context.CurrentCulture = Thread.CurrentThread.CurrentCulture;
  context.CurrentUICulture = Thread.CurrentThread.CurrentUICulture;
  </code></pre></li>
  <li><p>On the new thread, initialize from the saved context</p>
  
  <pre><code>Thread.CurrentThread.CurrentCulture = context.CurrentCulture;
  Thread.CurrentThread.CurrentUICulture = context.CurrentUICulture;
  </code></pre></li>
  </ol>
  
  <p>But in this age of TPL, async programming and lambda delegates, it does not feel right.</p>
  
  <p>And yes, we actually can change the culture while the application is running, but that is another story.</p>
  
  <p>Do you know of any setting, property or config we should initialize to keep track?</p>