c# - Silverlight 4 中 System.Windows.Input.Key 枚举的翻译?

标签 c# silverlight silverlight-4.0 translation

我目前正在编写一些代码来处理我的 Silverlight 4 应用程序中的键盘快捷键。我想创建一个管理窗口,如果用户不想使用默认键盘快捷键,他们可以在其中定义自定义键盘快捷键。然而,某些键在某些语言中有不同的翻译(例如 Home、Del 等)。当然,我想翻译这些文本,以便每个用户都能正确理解键盘快捷键。

像这样的东西有内置翻译吗?我在想 DateTime 的行为方式。如果我使用 DateTimes,几天或几个月的文本将通过系统文化设置自动定义。

string dateTimeTest = DateTime.Now.ToLongDateString();

在德国系统上,这会产生文本“Freitag, 20. Juli 2012”。

键也有类似的东西吗?还是我必须手动翻译所有需要的 key ?

提前致谢!

最佳答案

与大多数语言支持一样,您必须在 Silverlight 中自己完成此操作。当然,有一些方法可以让这更容易。

如果您的应用程序在浏览器外 (OOB) 中运行,在 Silverlight 4 中,您可以部署一个 COM 对象来包装对 GetKeyNameText 的 native 调用。 ;在 Silverlight 5、OOB 或提升的浏览器内应用程序中,您可以直接 P/调用它。

但是,如果您在没有提升权限的情况下在浏览器中运行,您的选择将大大减少。我不知道有任何库(商业或其他)提供此功能,因此您将必须创建自己的可本地化资源和相关方法来实现此功能。

您可能会找到 W3C guidance on accessibility in Silverlight成为有用的资源。

关于c# - Silverlight 4 中 System.Windows.Input.Key 枚举的翻译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11576359/

相关文章:

c# - WP7 自定义命名空间和前缀

c# - 使用 Office PIA 时出现 System.Type.Missing 或 System.Reflection.Missing.Value?

C# 组合类/模型或创建具有继承的多个类

c# - 将字节数组转换为对象

silverlight - 将 MVP ASP.NET 应用程序转换为 Silverlight 3 - 帮助我选择架构

c# - DesignerProperties.IsInDesignMode 和 DesignerProperties.IsInDesignTool 之间有什么区别?

silverlight - 从 Silverlight 生成文件以保存在用户计算机上而无需访问服务器

silverlight - Silverlight 4 上的 Ironpython 2.6.1

silverlight - 使用 <UserControl.Resources> 时,无法在 Designer 中创建 "ObjectName"的实例

c# - 调试 CurrentAppSimulator.GetAppReceiptAsync()