我有一个支持多种语言的应用程序。每种语言都保存在ResourceDictionary中,然后在运行时将其合并到主资源字典中。除汉堡菜单外,每件事都有效。菜单从不显示字典中的合并值。菜单中的每个按钮都将其文本绑定到StaticResource。
汉堡菜单甚至似乎是在App.xmal.cs中调用OnInitializeAsync之前创建的,因为这是我合并字典的地方,汉堡菜单总是加载主字典中的默认文本。
在应用程序中,当我选择其他语言时,应用程序上的其余部分会立即更改为新语言,但汉堡菜单从不更新文本,我找不到任何方法强制它更新文本。
有人知道如何动态更改汉堡菜单中按钮上的文字吗?
答案 0 :(得分:0)
这很简单。请记住,这只是XAML。在HamburgerButtonInfo中,您可以为TextBlock提供您拥有的文本。您需要做的就是向该TextBlock添加一个x:Name,您可以在Shell中更改它。我不确定这是否合理,但我确实希望如此。请记住,这只是更新TextBlock,而不是使用Template 10更新内容。请记住,这只是XAML。
public class Shell
{
public void UpdateText(string text)
{
this.MyTextBlock.Text = text;
}
}
没什么特别的。