问题描述
无论当前的系统文化如何,我都会创建一个使用英语的应用程序。 对于所有Catel窗口,使用DataWindowMode.Custom和例如
AddCustomButton(new DataWindowButton("Save","SaveCommand"));
在构造函数中。
现在我创建了一个包含一些页面的向导(Orc.Wizard),但是当例如取消该向导时,我找不到改变使用的按钮和弹出窗口的区域性的方法。 更改Current(UI)文化和DefaultThreadCurrent(UI)文化无效。
是否有一种简单的方法可以更改Orc.Wizard的uiculture,还是必须自定义向导的默认实现(复制面食)?
解决方法
因此,在检查了示例之后,我发现您必须使用catel语言服务。我在App.xaml.cs中添加了这个
protected override void OnStartup(StartupEventArgs e) {
var serviceLocator = ServiceLocator.Default;
var langService = serviceLocator.ResolveType<ILanguageService>();
langService.PreferredCulture = new CultureInfo("en-US");
langService.FallbackCulture = new CultureInfo("en-US");
}
这成功了。