删除或本地化默认服务对话框的消息

时间:2015-01-13 10:48:39

标签: c# mvvm service localization catel

我正在使用this method来本地化我的WPF项目。

我也使用Catel作为我的MVVM框架。 Catel提供了一些显示对话框的服务;问题在于我不知道如何本地化它们。


首先,我想删除IPleaseWaitService显示的PleaseWaitWindow 中的“Please wait”消息。如何实现?您可以使用

显示对话框
pleaseWaitService.Show(() => doStuff(), "status")

如果您输入空字符串或空字符串而不是“状态”,则只会显示默认的“请稍候”消息(这显然是预期的行为)。

如果无法实现,我需要以何种方式翻译消息?我在ILanguageService周围进行了调查,但我没有做任何有效的事情。

2 个答案:

答案 0 :(得分:1)

有几种选择:

  1. 使用Catel localization
  2. 在服务定位器中注册您自己的类型
  3. 请注意,PleaseWaitService是一个棘手的问题(因为它在一个单独的线程中运行,等等)。我们在大多数项目中所做的工作是用这个替换它:

    https://github.com/Orcomp/Orchestra/blob/develop/src%2FOrchestra.Core%2FOrchestra.Core%2FServices%2FPleaseWaitService.cs

答案 1 :(得分:0)

我使用了Catel 4.4.0,在此版本中,我可以在pleaseWaitService.Show()

中设置消息

例如:

iPleaseWait.Show("message");
// do some stuff
iPleaseWait.Hide();

"消息"你可以用从资源中获取字符串的变量替换。