如何获取Windows App SDK应用当前运行语言并初始化ComboBox选中项
Windows App SDK 获取应用当前运行语言的方法
要设置ComboBox的初始选中项,你可以通过以下方式获取应用实际运行的语言:
获取当前应用的有效语言
使用Windows.Globalization.ApplicationLanguages.Languages属性,这个列表的第一个元素就是应用当前实际使用的语言。该属性会自动处理语言优先级:优先使用已设置的PrimaryLanguageOverride,若未设置则返回系统语言偏好中与应用清单支持语言匹配的第一个选项,最后回退到应用默认语言。示例代码:
string currentLanguageTag = Windows.Globalization.ApplicationLanguages.Languages.FirstOrDefault();匹配ComboBox的视图模型并设置选中状态
拿到语言标签后,在你预先创建的语言视图模型列表中找到对应项,设置为ComboBox的选中值即可。假设你的视图模型包含LanguageTag属性:var targetViewModel = yourLanguageViewModelList.FirstOrDefault(vm => vm.LanguageTag == currentLanguageTag); if (targetViewModel != null) { // 这里假设SelectedLanguage是ComboBox绑定的选中项属性 SelectedLanguage = targetViewModel; }获取友好的语言显示名称
如果需要给用户显示更易懂的语言名称(如“中文(简体)”而非“zh-CN”),可以使用Windows.Globalization.Language类处理:var language = new Windows.Globalization.Language(currentLanguageTag); string displayName = language.DisplayName; // 按当前系统语言显示的语言名称 string nativeName = language.NativeName; // 语言的本地名称(如中文显示“中文(简体)”)
内容的提问来源于stack exchange,提问作者ackh
相关产品推荐
相关产品推荐

