/// <summary> /// Changes UI Culture /// </summary> /// <param name="culture">New culture</param> public static void ChangeCulture(CultureInfo culture) { CurrentCulture = culture.Name; System.Threading.Thread.CurrentThread.CurrentUICulture = culture; for (int i = 0; i < ResourceDataProviders.Keys.Count; i++) { ObjectDataProvider prov = InstantiateDataProvider(ResourceDataProviders.ElementAt(i).Key); if (prov != null) { prov.Refresh(); } } }
/// <summary> /// Returns the actual binded resource from the ObjectDataProvider /// </summary> /// <param name="resource"></param> /// <returns></returns> /// <author>Thomas Kosch</author> private static ObjectDataProvider InstantiateDataProvider(string resource) { try { if (ResourceDataProviders.ContainsKey(resource)) { if (ResourceDataProviders[resource] == null) { ResourceDataProviders[resource] = (ObjectDataProvider)Application.Current.FindResource(resource); } } } catch { return(null); } return(ResourceDataProviders[resource]); }