UWP模板10汉堡菜单。以编程方式更新按钮文本

时间:2016-06-12 08:27:23

标签: c# uwp hamburger-menu template10

我有一个支持多种语言的应用程序。每种语言都保存在ResourceDictionary中,然后在运行时将其合并到主资源字典中。除汉堡菜单外,每件事都有效。菜单从不显示字典中的合并值。菜单中的每个按钮都将其文本绑定到StaticResource。

汉堡菜单甚至似乎是在App.xmal.cs中调用OnInitializeAsync之前创建的,因为这是我合并字典的地方,汉堡菜单总是加载主字典中的默认文本。

在应用程序中,当我选择其他语言时,应用程序上的其余部分会立即更改为新语言,但汉堡菜单从不更新文本,我找不到任何方法强制它更新文本。

有人知道如何动态更改汉堡菜单中按钮上的文字吗?

1 个答案:

答案 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;
    }
}

没什么特别的。