【问题标题】:Customize Calendar Winrt Xaml Toolkit自定义日历 Winrt Xaml 工具包
【发布时间】:2016-01-14 00:24:00
【问题描述】:

我正在为 Win8.1 开发通用应用程序,我添加了 Winrt Xaml Toolkit dll,但是当我使用日历控件时,月份的字符串仅以英文显示。 有什么办法可以改变它们吗?我要疯了:D

PS:我已经下载了dll的源代码,但是没有这些字符串的踪迹

【问题讨论】:

  • 我没有这方面的经验,但我认为“通用应用程序”仅适用于 Windows 10,不再支持 Windows 8/8.1 应用程序?
  • “通用应用程序”一词是在 Windows 8.1 和 WP 8.1 推出时首次引入的,因为您可以拥有桌面和手机的共享代码库,就像“Windows 通用应用程序”一样应用程序”与 Win10

标签: windows xaml windows-runtime win-universal-app winrt-xaml-toolkit


【解决方案1】:

如果您查看DateTimeHelper 类,您可以看到使用en-US 格式的方法GetCurrentDateFormat。此方法在许多地方用于工具包中的CalendarCalendarItem 控件。

您可以尝试从站点导入项目,而不是使用 NuGet 包,然后更改此方法以使用您的设备区域设置。你也许可以把它改成这样:

public static DateTimeFormatInfo GetCurrentDateFormat()
{
    return CultureInfo.CurrentCulture.DateTimeFormat;
}

我没有测试过这段代码,所以这只是一个提示,你应该在哪里寻找你的解决方案。

【讨论】:

  • 我尝试导入项目而不是 NuGet 包,因此我从源代码生成了我的 .dll(工具包和日历)并添加到我的项目中。但是当我使用日历控件时,它会在 CalendarAutomationPeer 的 GetPatternCore 方法中生成 StackOverflow 异常。
  • 我的错误,我从“obj”文件夹而不是“bin”添加了 dll。非常感谢!我认为这对于这个优秀的库来说是一个重要的错误!
  • 我以前看过有关它的报告,现在开始研究修复它。
  • 嗨 Filip,大约一周前我曾尝试通过邮件与您联系...就像 Kristian 建议我已将 DateTimeHelper en-US 格式替换为 CultureInfo.CurrentCulture.Calendar
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多