После того, как я много раз гуглил результатов StackOverFlow, я не смог найти для себя ответа.
У меня есть такой MVVM-класс:
Код: Выделить всё
namespace MyNameProject.Models
{
[ContentProperty(nameof(Name))]
public partial class ResourceModels : ObservableObject, IMarkupExtension
{
private ResourceModels() => Language.Culture = CultureInfo.CurrentCulture;
private static ResourceModels obj;
internal static ResourceModels Obj { get { if (obj == null) obj = new(); return obj; } set => obj = value; }
public object this[string resourceKey]
=> Language.ResourceManager.GetObject(resourceKey, Language.Culture) ?? Array.Empty();
public void setCulture(CultureInfo culture) => Language.Culture = culture;
}
}
В конструкторе PAGE я пишу:
Код: Выделить всё
ResourceModels.Obj.PropertyChanged += Obj_PropertyChanged;
Код: Выделить всё
private void Obj_PropertyChanged(object? sender, System.ComponentModel.PropertyChangedEventArgs e)
{
ResourceModels.Obj.setCulture(CultureInfo.CurrentCulture);
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... fo-changed