У меня есть следующий код в SettingsPage.xamlшаблона 10 Переключатель настройки языка
<ToggleSwitch x:Name="LanguageSwitch" x:Uid="LanguageSwiich"
Header="Switch language"
Margin="2,130,0,0"
IsOn="{Binding IsFullScreen, Mode=TwoWay}"
OffContent="English"
OnContent="Franche"
RelativePanel.AlignLeftWithPanel="True"
RelativePanel.AlignTopWithPanel="True" />
И добавил это в SettingsService.cs следующие коды только для тестирования
public bool IsEnglish
{
get { return _helper.Read<bool>(nameof(IsEnglish), true); }
set
{
_helper.Write(nameof(IsEnglish), value);
Views.Shell.HamburgerMenu.IsFullScreen = value;
}
}
И добавил это в SettingsPageViewModel.cs
public bool IsEnglish
{
get { return _settings.IsEnglish; }
set
{
_settings.IsEnglish = value;
base.RaisePropertyChanged();
if (value)
{
var culture = new CultureInfo("fr");
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = culture.Name;
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;
}
else
{
var culture = new CultureInfo("en-US");
}
}
}
Работает на IsFullScreen, но я хочу изменить язык вместо этого полноэкранный.
Добавлен последний код в App.xaml.cs
var IsEnglish = _settings.IsEnglish;
Так что я должен изменить здесь, в моем коде, чтобы он работал.
Спасибо, я хочу сделать настройку в SettingsPage.xaml, чтобы пользователи могли переключаться между двумя языками. Я не могу представить, как работать на изменение языка, это моя проблема. Может быть, лучше сделать выпадающее меню, в котором есть 2 варианта 1 для английского, 2-й для французского, моя проблема заключается в том, что я не могу понять это выпадающее меню, когда пользователь выбирает английский на английском или выбирает французский, а затем переходит на французский. Значит, есть идея, как это сделать человек? – Alex
У меня есть файлы ресурсов, и я отлично работаю, если я изменю код из var culture = new CultureInfo («fr-FR») в var culture = new CultureInfo («en-US»); – Alex
Выше кода подозрительно ... Код не является симметричным между случаями «истина» и «ложь». Также код не проверяет фактическое изменение, поэтому он будет тратить время, если свойство установлено на то же значение ... – Phil1970