Я использую разметку для загрузки интернационализированных строк в приложении WPF следующим образом:
<Button Content="{Translate MyText}"/>
Мой markupextension называется «TranslateExtension», и он ищет значение для ключа «MyText» из базы данных. Это делает в
ProvideValue(IServiceProvider serviceProvider)
метод, который возвращает правильную строку. Все работает нормально.
Моя проблема в том, что метод ProvideValue больше никогда не вызывается, и при смене языка невозможно извлечь новую строку из базы данных. Теперь мне нужен способ сделать возвращаемое значение «динамическим», заставить Button перезагружать его xaml и повторно использовать markupextension, независимо от того, произойдет ли это через событие, выброшенное при смене языка или что-то еще. Как мне заставить систему снова вызывать метод ProvideValue? Я попробовал такие
InvalidateVisual () InvalidateArrange () InvalidateMeasure () UpdateLayout () ...
Надеюсь, я ясно дал понять. Пожалуйста, не стесняйтесь спрашивать больше информации о том, что, по вашему мнению, вы способны предложить идеи или решения.
Спасибо